当前位置: 首页 > 编程语言 > C#

PInvokingC++DLL时出现AccessViolationException(cdecl调用约定问题?)分享

时间:2023-04-10 20:28:37 C#

PInvokingC++DLLAccessViolationException(cdecl调用约定问题?)整天都在研究这个问题,我不聪明:我有一个C#DLL,它PInvokesC++DLL中的一个方法。在调试模式下编译时我没有任何问题,但在发布模式下编译时,我得到一个AccessViolationException。谷歌搜索这个问题告诉我它可能是一个不符合调用约定的问题。在C#中,代码现在看起来像这样:在C++中:extern"C"{DLL_EXPORTboolAMethod(intmode,BYTEframe){...}}我在VS2010中使用__cdecl调用约定设置了C++项目,但我仍然得到AccessViolationException我不知道还能做什么。我应该注意到我的C++DLL使用第三方DLL,我不知道他们使用什么调用约定。任何帮助将不胜感激!哦,在我的开发机器上没有异常,只有在我的目标系统上。尝试重新排序这些语句:以上是C#学习教程的全部内容:AccessViolationException(cdeclcallingconventionproblem?)whenPInvokingC++DLL.如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注—[DllImport("Native.dll",CallingConvention=CallingConvention.Cdecl)][返回:MarshalAs(UnmanagedType.U1)]internalstaticexternBooleanAMethod(Int32模式,字节帧);本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: