为什么我托管的 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 签名的调用约定和参数与非托管的目标签名是否匹配。
展开
 我来答
守时的塔尔羊
2013-08-01 · TA获得超过145个赞
知道答主
回答量:88
采纳率:0%
帮助的人:94.1万
展开全部
不用system,直接用Process.Start("cmd.exe","/c pause");
这样可以么?
或是直接
Console.WriteLine("Press any key to continue...");
Console.ReadKey();
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式