繁体   English   中英

将python + numpy代码嵌入到C ++ DLL回调中

[英]Embedding python + numpy code into C++ dll callback

我是python嵌入的新手。 我试图在C ++回调函数中嵌入python + numpy代码(在dll中)

我面临的问题如下。 如果我有:

Py_Initialize();
// some python glue
// python invocation
Py_Finalize();

一切正常。

但如果我有:

Py_Initialize();
_import_array(); //to initialize numpy C-API
// some python glue + numpy array object creation
// python invocation via PyObject_CallObject()
Py_Finalize();

第二次它到达_import_array()时崩溃; (意思是它适用于第一次回调)

如果我改为执行python和numpy初始化只需一次并在析构函数中完成(因此不是每次初始化/最终化),一切都会在离开回调时崩溃。

我猜这里的问题是numpy,但我不知道如何解决它

尝试确保您的.dll仅初始化一次 ,无论实际调用代码的次数如何。

这是一个关于“DLL中的C ++ Singleton”的链接:

DLL中的单例?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM