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

看板C_Sharp (C#)作者 (3O6p)時間9年前 (2015/10/09 14:14), 9年前編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
我已經有寫一個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的調用有問題,但是也可能是其他方面有問題 我也不知道是怎樣,被這問題搞到崩潰中.... 有請哪位大大來拯救我 小弟在這感謝你 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.59.89 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1444371261.A.85F.html

10/09 22:41, , 1F
C++使用沒問題的話,建議先檢查PInvoke的參數(結構、陣列
10/09 22:41, 1F

10/09 22:41, , 2F
、指標)定義與傳遞接收時是否正確。
10/09 22:41, 2F

10/12 02:08, , 3F
如上,問題只出在C#
10/12 02:08, 3F
解出來了,因為ZMQ需要使用.exe執行黨才能正常使用,而且C#的port有設錯 果然是C#有問題 ,感謝各位大大。 ※ 編輯: autumnk (220.134.59.89), 10/14/2015 18:18:24
文章代碼(AID): #1M5rizXV (C_Sharp)
文章代碼(AID): #1M5rizXV (C_Sharp)