C# 使用C语言编写编译器接口代码#

C# 使用C语言编写编译器接口代码#,c#,compiler-construction,process,io,C#,Compiler Construction,Process,Io,我想编写一个程序或类,可以使用安装的GCC编译器编译cpp代码,如果有编译错误:报告它们 如果没有错误,则运行可执行文件,向该程序发送输入并从中获取输出,然后将输出用于其他计算 我的解决方案是使用.netProcessclass并调用CMD和。。。。但是有没有更好的方法或更好的.net组件来编写这个程序呢?您提供的解决方案非常好用。 Sibscribe到GCC输出并读取错误和警告 根据您将要使用的体系结构,您可以考虑使用VS install数据包中的devenv.combinary。使用它,您可

我想编写一个程序或类,可以使用安装的GCC编译器编译cpp代码,如果有编译错误:报告它们

如果没有错误,则运行可执行文件,向该程序发送输入并从中获取输出,然后将输出用于其他计算


我的解决方案是使用.net
Process
class并调用
CMD
和。。。。但是有没有更好的方法或更好的.net组件来编写这个程序呢?

您提供的解决方案非常好用。 Sibscribe到GCC输出并读取
错误和
警告

根据您将要使用的体系结构,您可以考虑使用VS install数据包中的
devenv.com
binary。使用它,您可以直接编译
项目
解决方案

不清楚这是否是你需要的,但顺便说一下,还有一个选项要考虑。

< P>除了使用进程调用命令行编译器之外,你还可以利用它来执行一个构建脚本。这样做的好处是,用户可以创建和更改自己的构建脚本,而无需对应用程序进行任何更改。任何编译器都可以插入到MSBuild脚本中,错误和警告的输出都是标准化的,因此您可以轻松地解析它们。MSBuild附带了一个使用.Net的运行时。有关示例,请参见和(已弃用)。这也是VisualStudio的工作方式。项目文件是msbuild脚本。

对于GCC,基本上就是这样,没有什么特别的解决方案

如果你想编译MS C++(我猜是管理C++,但我不确定那一个),你可以利用一个代码提供者。 您可以找到CPP文档


基于CSARPvIpvor的工作使用方法,可以找到

似乎是一个合理的解决方案,而且是唯一一个适用于GCC,TNX,以及MS C++编译器的方法。为什么当作者使用GCC编译器编译C++代码时,这个标记的C?我应该补充的是,没有.NET process.Bcoz,我必须使用C#编写的程序编译cpp代码。