在C#工程中调用C++写的动态库,运行时出现了如下描述的错误:
其他信息: 对 PInvoke 函数“WindowsFormsApplication1!WindowsFormsApplication1.Form1::check_sn”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。
解决办法:
在dllimport中加入CallingConvention参数就行了,[DllImport(PCAP_DLL, CharSet = CharSet.Auto, CallingConvention = CallingConvention.Cdecl)]
C#调用C++动态库时出错的解决方法
最新推荐文章于 2024-07-07 12:47:53 发布