[問題] C# 使用C++DLL中 又調用DLL

作者: autumnk (3O6p)   2015-10-09 14:14:19
我已經有寫一個C++的DLL
這個DLL會再去調用ZMQ的相關DLL
而我調用ZMQ的DLL並不是使用LoadLibrary
而是使用include .h 和.lib檔
我使用C++去調用我的C++的DLL,是可以正常的使用的
現在,我要使用C#來使用我的C++的DLL檔
我的C++ DLL檔後來有使用extern
(原本我是使用一般的class,後來改用extern)
例如下面:
#define _EXTERN_C_ extern "C" _declspec(dllexport)
_EXTERN_C_ void XXXX();
現在程式跑是不會顯示任何錯誤
但是在使用ZMQ的zmq_poll函式時,會卡住,不會向下執行。
我在想是不是我有需要做什麼設定
例如要在C#加入ZMQ相關的DLL路徑
或是要把ZMQ相關的檔案放到某個資料夾下
C#要去調用C++DLL 而這個DLL又有去調用別的DLL(不是使用LoadLibrary)
這樣的關係是不是要有其他的設定阿
目前是覺得DLL的調用有問題,但是也可能是其他方面有問題
我也不知道是怎樣,被這問題搞到崩潰中....
有請哪位大大來拯救我 小弟在這感謝你
作者: yeo1987 (Archie)   2015-10-09 22:41:00
C++使用沒問題的話,建議先檢查PInvoke的參數(結構、陣列、指標)定義與傳遞接收時是否正確。
作者: TobyH4cker (Toby (我要當好人))   2015-10-12 02:08:00
如上,問題只出在C#

Links booklink

Contact Us: admin [ a t ] ucptt.com