如何将C ++编译器集成到C#应用程序中?

时间:2016-01-13 19:12:59

标签: c# c++ .net c++11 gcc

我想在C#(。NET)中创建一个应用程序,你可以说是一个richtextbox,你可以在其中编写C ++代码和一个按钮,用于调试和运行用richtextbox编写的应用程序!怎么做 ?如何将C ++编译器(例如MinGW/bin)集成到我的应用程序中以运行它?我知道对于网站来说,可以使用Ideone Api!我可以从OrderedDicts获得编译器!

1 个答案:

答案 0 :(得分:0)

使用System.Diagnostics.Process.Start像任何其他外部进程一样启动C ++编译器:

System.Diagnostics.Process pProcess = new System.Diagnostics.Process();
pProcess.StartInfo.FileName = @"path\to\gcc";
pProcess.StartInfo.Arguments = "-Wall myFile.cpp"; //argument
pProcess.StartInfo.UseShellExecute = false;
pProcess.StartInfo.RedirectStandardOutput = true;
pProcess.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
pProcess.StartInfo.CreateNoWindow = true; //not diplay a windows
pProcess.Start();
string output = pProcess.StandardOutput.ReadToEnd(); //The output result
int exitCode = pProcess.WaitForExit();

然后分析输出/退出代码以查看是否有任何错误。

调试器会有更多麻烦(例如gdb - 因为它有完全的命令行界面),你可以使用Process类的StandardInput属性发送命令,但它会相当复杂。正如您所见,.Net lib to control remote GDB尚无此库。