我想以编程方式从C#编译C代码。我正在尝试,但尚未找到任何解决方案。这是我的代码。
try {
var info = new ProcessStartInfo {
FileName = "cmd.exe",
Arguments = "mingw32-gcc -o a Test.c"
};
var process = new Process { StartInfo = info };
bool start = process.Start();
process.WaitForExit();
if (start) {
Console.WriteLine("done");
}
} catch (Exception) {
Console.WriteLine("Not done");
}
我在Windows 7中使用VS2010,并且已安装mingw32-gcc,并且mingw32-gcc的环境变量为 C:\Program Files\CodeBlocks\MinGW\bin
任何帮助将不胜感激。提前致谢。
最佳答案
不需要调用cmd.exe程序。您可以使用参数直接调用mingw32-gcc.exe程序。
编辑:
string szMgwGCCPath = "C:\\mingw32\\bin\\mingw32-gcc.exe"; // Example of location
string szArguments = " -c main.c -o main.exe"; // Example of arguments
ProcessStartInfo gccStartInfo = new ProcessStartInfo(szMgwGCCPath , szArguments );
gccStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
Process.Start(gccStartInfo );
问候