看板 C_Sharp 關於我們 聯絡資訊
我已經有寫一個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
yeo1987: C++使用沒問題的話,建議先檢查PInvoke的參數(結構、陣列 10/09 22:41
yeo1987: 、指標)定義與傳遞接收時是否正確。 10/09 22:41
TobyH4cker: 如上,問題只出在C# 10/12 02:08
解出來了,因為ZMQ需要使用.exe執行黨才能正常使用,而且C#的port有設錯 果然是C#有問題 ,感謝各位大大。 ※ 編輯: autumnk (220.134.59.89), 10/14/2015 18:18:24