为什么我托管的 PInvoke 签名与非托管的目标签名不匹配
我的环境是vs2010[DllImport("msvcrt.dll")]staticexternboolsystem(stringstr);是这么声明的,然后调是syst...
我的环境是vs2010
[DllImport("msvcrt.dll")]
static extern bool system(string str);
是这么声明的,然后调是
system("pause");
这么一句。
结果运行到最后按任意键结束后 vs就提示这个警告。
对 PInvoke 函数“o(n)suanfa!o_n_suanfa.Program::system”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。 展开
[DllImport("msvcrt.dll")]
static extern bool system(string str);
是这么声明的,然后调是
system("pause");
这么一句。
结果运行到最后按任意键结束后 vs就提示这个警告。
对 PInvoke 函数“o(n)suanfa!o_n_suanfa.Program::system”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询