gpt4 book ai didi

c# - 使用 "static extern int system(string str)"时 PInvokeStackImbalance

转载 作者:太空宇宙 更新时间:2023-11-03 15:55:21 25 4
gpt4 key购买 nike

我正在尝试使用 system(string str) 命令在 C# 中进行 dos 操作。

namespace XYZ
{
internal class Program
{
[DllImport("msvcrt.dll")]
static extern int system(string str);

static void Main(string[] args)
{
string Command = Console.ReadLine();
system(Command);
/* Excutes command, then "PInvokeStackImbalance". */
}
}
}

我知道使用 static extern int system(string str) 是一个糟糕的解决方案,但我已经尝试过其他无效的解决方案。

最佳答案

您忘记指定调用约定:

[DllImport("msvcrt.dll", CallingConvention = CallingConvention.Cdecl)]
static extern int system(string str);

我通常会尝试解释原因,但这在这里似乎没有必要;)否则这不太可能解决您的问题,无论它是什么,它与

Process.Start("cmd.exe", "/c " + str);

关于c# - 使用 "static extern int system(string str)"时 PInvokeStackImbalance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23898677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com