Usando o Cython para expor a funcionalidade a outro aplicativo

Eu tenho esse código C ++ que mostra como estender um software, compilando-o em uma DLL e colocando-o na pasta do aplicativo:

#include <windows.h>

#include <DemoPlugin.h>

/** A helper function to convert a char array into a
    LPBYTE array. */
LPBYTE message(const char* message, long* pLen)
{
  size_t length = strlen(message);
  LPBYTE mem = (LPBYTE) GlobalAlloc(GPTR, length + 1);
  for (unsigned int i = 0; i < length; i++)
  {
    mem[i] = message[i];
  }
  *pLen = length + 1;
  return mem;
}

long __stdcall Execute(char* pMethodName, char* pParams,
  char** ppBuffer, long* pBuffSize, long* pBuffType)
{
  *pBuffType = 1;

  if (strcmp(pMethodName, "") == 0)
  {
    *ppBuffer = (char*) message("Hello, World!",
  pBuffSize);
  }
  else if (strcmp(pMethodName, "Count") == 0)
  {
    char buffer[1024];
    int length = strlen(pParams);
    *ppBuffer = (char*) message(itoa(length, buffer, 10),
  pBuffSize);
  }
  else
  {
    *ppBuffer = (char*) message("Incorrect usage.",
  pBuffSize);
  }

  return 0;
}

É possível criar um plugin dessa maneira usando o Cython? Ou mesmo py2exe? A DLL só precisa ter um ponto de entrada, certo?

Ou devo compilá-lo nativamente e incorporar o Python usandoelmer?

questionAnswers(1)

yourAnswerToTheQuestion