2013-08-29 91 views
4

我有一個C++程序,它具有某種插件結構:當程序啓動時,它尋找某些導出函數的簽名,如插件文件夾的dll:可以將Cython代碼編譯爲dll,以便C++應用程序可以調用它嗎?

void InitPlugin(FuncTable* funcTable); 

然後程序會調用函數在dll中初始化並傳遞函數指針給dll。從那時起,dll可以與程序交談。我知道Cython讓你在Python中調用C函數,但是我不確定是否可以編寫一個Cython代碼並將它編譯爲一個dll,以便我的C++程序可以用它進行初始化。示例代碼會很棒。

回答

0

我想象直接調用它會很困難,而Cython依賴於Python運行時。

最好的辦法是在應用程序中直接嵌入一個Python解釋器,例如如this answer中所述,並從解釋器調用您的Cython代碼。這就是我會做的。

相關問題