簡體   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