[问题] 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