作者autumnk (3O6p)
看板C_Sharp
标题[问题] C# 使用C++DLL中 又调用DLL
时间Fri Oct 9 14:14:19 2015
我已经有写一个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://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1444371261.A.85F.html
1F:→ yeo1987: C++使用没问题的话,建议先检查PInvoke的参数(结构、阵列 10/09 22:41
2F:→ yeo1987: 、指标)定义与传递接收时是否正确。 10/09 22:41
3F:→ TobyH4cker: 如上,问题只出在C# 10/12 02:08
解出来了,因为ZMQ需要使用.exe执行党才能正常使用,而且C#的port有设错
果然是C#有问题 ,感谢各位大大。
※ 编辑: autumnk (220.134.59.89), 10/14/2015 18:18:24