C ++到C#转换器

时间:2009-02-16 16:00:48

标签: c++ code-translation

我找到了c ++到c#的翻译器,但它不起作用。 (Code2Code.net)

用cout测试

int main(int argc, char** argv)
{
cout << "Hello World";
return 0;
}

结果变为

public static int Main(string [] argv) 
{ 
cout << "Hello World"; 
return 0; 
} 

我的问题是,是否是任何其他适用于C ++到C#的翻译(不需要免费)

4 个答案:

答案 0 :(得分:7)

我不知道,因为这种翻译很难非常。您正在尝试将以非托管语言编写的代码转换为托管的语言。即使您能够翻译代码,您几乎每个标记为unsafe的方法都会取消首先转移到C#的大部分好处。

这似乎是一个坏主意 - 您应该考虑从头开始重写应用程序。

答案 1 :(得分:6)

我的建议是最初使用C ++ / CLI将C ++代码移植到托管环境。一旦在托管世界中工作,就可以围绕它在C#中构建新代码。如果现有代码的关键区域正在积极更改,请考虑在此时移植到C#。

答案 2 :(得分:0)

我认为没有任何C ++翻译引擎 - &gt; C#可以做的不仅仅是在样板代码上输入一些东西(修复基本语法) - 因为C ++和C#中使用的框架根本不同,一旦翻译者必须处理指针算术和东西,你就会遇到问题像这样。

考虑到C ++的复杂语法以及你可以用它做的疯狂事情(想想Boost),我想任何翻译迟早都会遇到严重问题。有关其他建议,请参阅this blog post

答案 3 :(得分:0)

Code2Code.net明确说明

  

您接受此页面只完成了一半的工作。

     

...

     

在大多数情况下,翻译的代码甚至都不会编译。