3

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

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

4

6 回答 6

3

当然,这是一个热闹的市场。从 C++ 到 C# 可以为您提供一些可以干净编译的东西。让它真正发挥作用需要逐行,“哦,天哪,我明天要开枪”的努力。YMMV。

于 2010-05-12T23:27:55.693 回答
3
  1. 键盘。
  2. 老鼠。
  3. 监视器。
  4. 咖啡。
  5. 正则表达式搜索和替换。
于 2010-05-13T00:10:29.757 回答
2

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

C++ -> C#:从 C++ 迁移到 C# 需要了解的内容

于 2010-05-13T00:08:30.510 回答
2

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

于 2010-05-13T00:14:32.123 回答
1

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

它需要自定义来处理将外来构造(COM 调用、您的自定义 API 等)转换为 C#。您可能找到的任何工具都需要这种定制;没有现成的工具可以实际解决您的一整套具体情况。

于 2010-10-13T03:58:51.993 回答
0

C++/CLI 编译器怎么样,它从 C++ 代码生成 .NET 程序集。最终,您将希望重新设计入口点以接受 .NET 类型(例如System::String,而不是 classic char *),但是通过不使用 C#,您将更快地进入 .NET。C++/CLI 和 C# 之间也有自动转换,但只有在 C++ 代码经过 .NET 化之后(前面提到的转换为System::Stringgeneric<typename T> System::Collections::Generic::List等)

于 2010-05-13T00:36:53.023 回答