日期:2014-05-17  浏览次数:21150 次

求教C++Dll的调用错误 关于pinvokestackimbalance
pinvokestackimbalance的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。
调用函数大概就是这样 SendData(string IP,int port,byte[] bits,int lenght);
由于公司不能上网大概就这样
分数不多了·求大家帮帮忙 0 0

------解决方案--------------------
一个原因是参数的个数、类型不匹配。

另一个是调用约定不符合,比如明明是cdecl方式,你用了stdcall方式,或者反之。
------解决方案--------------------
好多VC编写的dll,由于开发人员忽略了VC下dll的默认调用方式是cdecl,因此没有修改成stdcall。
这就给调用者制造了麻烦。