gpt4 book ai didi

c# - C# 中的 C/C++ 代码编译器

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:11:01 25 4
gpt4 key购买 nike

在 C# 中,我可以使用下面的代码编译 VB 和 C# 代码,但我无法编译 C/C++ 代码。有什么办法吗?

C# 编译器:

        public void Compile(string ToCompile)
{
string Result = null;
string errors = null;
Microsoft.CSharp.CSharpCodeProvider codeProvider = new Microsoft.CSharp.CSharpCodeProvider();
System.CodeDom.Compiler.ICodeCompiler icc = codeProvider.CreateCompiler();
string Output = @"mypath";
System.CodeDom.Compiler.CompilerParameters parameters = new System.CodeDom.Compiler.CompilerParameters();
parameters.GenerateExecutable = true;
parameters.OutputAssembly = Output;
System.CodeDom.Compiler.CompilerResults results = icc.CompileAssemblyFromSource(parameters, ToCompile);
if (ReturnErrors == true)
{
if (results.Errors.Count > 0)
{
foreach (System.CodeDom.Compiler.CompilerError CompErr in results.Errors)
{
errors +=
"Line number " + CompErr.Line +
", Error Number: " + CompErr.ErrorNumber +
", '" + CompErr.ErrorText + ";" +
Environment.NewLine + Environment.NewLine;
}
Result += "Errors have been found in your code: " + Environment.NewLine + errors;
}
else
{
Result += "Success!";
System.Diagnostics.Process.Start(Output);
}
}

为了创建 VB 编译器,我只需将 Microsoft.CSharp.CSharpCodeProvider codeProvider = new Microsoft.CSharp.CSharpCodeProvider(); 替换为 Microsoft.VisualBasic.VBCodeProvider codeProvider = new Microsoft. VisualBasic.VBCodeProvider();

最佳答案

您可以编译 c++/cli 代码,而不是上面提到的原生 c++。您可以使用 CppCodeProvider ( http://msdn.microsoft.com/en-us/library/microsoft.visualc.cppcodeprovider(v=vs.85).aspx ) 类存档 c++/cli 编译,就像在您的示例中一样。

关于c# - C# 中的 C/C++ 代码编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19730548/

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