是否有任何工具将c ++代码移植到c#代码?

时间:2010-05-12 23:19:31

标签: c++ code-generation code-migration

我有几个c ++实用程序,我想将其移植到dot net。我想知道是否有工具将c ++应用程序移植到c#?

我想任何自动化工具都会弄乱任何代码,所以也许,我也应该问这是不是一个好主意?

6 个答案:

答案 0 :(得分:4)

  1. 键盘。
  2. 鼠标。
  3. 监视器。
  4. 咖啡。
  5. 正则表达式搜索和替换。

答案 1 :(得分:2)

当然,它是lively market。从C ++转到C#可以为您提供可能干净地编译的东西。让它实际工作需要逐行,“哦,gawd我将拍摄自己tomorow”的努力。 YMMV。

答案 2 :(得分:2)

这应该是一个评论。但我没有足够的凭据发表评论。 这与您的问题不完全相关。我认为这对你有用。

C++ -> C#: What You Need to Know to Move from C++ to C#

答案 3 :(得分:2)

更好的问题是,为什么你会在没有获得附加价值(即新功能)的情况下端口工作代码?这种努力几乎会变得更加艰难,并且需要比预期更长的时间。更好的是,使用.Net的许多互操作功能从C#调用您的c ++代码。专注于在C#中添加新功能,但不要浪费时间移植工作代码。

答案 4 :(得分:1)

我的公司Semantic Designs有一个从C ++转换为C#的工具。它处理从C ++(数据/类声明,可执行语句)到C#的转换核心语言结构。翻译工具基于the DMS Software Reengineering Toolkit

它需要自定义来处理将奇异的构造(COM调用,您的自定义API,...)转换为C#。您可能找到的任何工具都需要这样的定制;没有现成的工具几乎可以解决您的整套具体情况。

答案 5 :(得分:0)

C ++ / CLI编译器如何从C ++代码生成.NET程序集。最终,您需要重写入口点以接受.NET类型(例如System::String而不是经典char *),但是如果不使用C#,您将更快地使用.NET。 C ++ / CLI和C#之间也有自动转换,但只有在C ++代码被.NETified之后(上述转换为System::Stringgeneric<typename T> System::Collections::Generic::List等)