我找到了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#的翻译(不需要免费)
答案 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明确说明
您接受此页面只完成了一半的工作。
...
在大多数情况下,翻译的代码甚至都不会编译。