C# 调用外部DLL时出错

C# 调用外部DLL时出错,c#,.net,c,dllimport,extern,C#,.net,C,Dllimport,Extern,My.NET代码从外部DLL调用函数: [DllImport("MyExternal.dll", CharSet = CharSet.Auto, ExactSpelling = false, CallingConvention = CallingConvention.Cdecl)] private static extern int loadMyExternalFunction(); loadMyExternalFunction(); 错误是: 试图读取或写入受保护的

My.NET代码从外部DLL调用函数:

[DllImport("MyExternal.dll", CharSet = CharSet.Auto, ExactSpelling = false, CallingConvention = CallingConvention.Cdecl)]
            private static extern int loadMyExternalFunction();

loadMyExternalFunction();
错误是:

试图读取或写入受保护的内存。这通常是一个问题 表示其他内存已损坏


此错误的原因是什么?如何解决?

信息不足。这可能是错误的调用约定,或者是
loadMyExternalFunction
函数调用中的错误。我可以提供更多信息吗?
loadMyExternalFunction
肯定没有问题,因为它是一个广泛使用的专有DLL,没有问题。如果您只有这些代码,并且:1)调用约定是正确的。2) 功能原型是正确的。3) 被调用的函数不需要任何额外的初始化代码。4) 调用的函数在.NET中运行良好(是的,这不是每个编译器/在每个条件下的假设)。那么问题就在被调用函数内部。这肯定不是函数内部的问题,因为它只发生在一台机器上,但我想知道问题是什么。@PaulLassiter:请发布本机函数原型。