встраивание Cython в C: вызов PyInit несколько раз вызывает сбой - PullRequest
0 голосов
/ 12 сентября 2018

У меня проблемы с встраиванием сценария использования cython в разделяемую библиотеку ac.

Настройка: Приложение Win64 использует разделяемую библиотеку dll, написанную на c.Этот c-dll вызывает мою dll на основе Cython.

App -> cDll -> myCythonDll

Вызов из приложения Win64, которым я не могу управлять, но в соответствии с моим журналом, он вызывается несколько раз в ближайшее время.Я сузил его и, кажется, два быстрых последовательных вызова PyInit_myCythonDll вызывают сбой.Однако у меня нет идеи, почему, как проводить дальнейший анализ и как правильно исправить / отловить эту ошибку.Код выглядит так:

// cDll :
#include "myCythDll.h"
int __declspec(dllexport) APIENTRY UserObjectDefinition(double *data)
}
    logger("initializing python");
    Py_Initialize();
    PyInit_myCythonDll(); // <<-- seems to be the crashing point on 2nd call
    myCythonDll_method();
    Py_Finalize();
    logger("finished the python interpreter");
    return (0);
{

// myCythonDll:

cdef public void myCythonDll_method():
    print("inside myCythonDll_method") // do something

Есть идеи, что с этим делать?

Приветствия, Тим

...