我有几个c ++实用程序,我想将其移植到dot net。我想知道是否有工具将c ++应用程序移植到c#?
我想任何自动化工具都会弄乱任何代码,所以也许,我也应该问这是不是一个好主意?
答案 0 :(得分:4)
答案 1 :(得分:2)
当然,它是lively market。从C ++转到C#可以为您提供可能干净地编译的东西。让它实际工作需要逐行,“哦,gawd我将拍摄自己tomorow”的努力。 YMMV。
答案 2 :(得分:2)
这应该是一个评论。但我没有足够的凭据发表评论。 这与您的问题不完全相关。我认为这对你有用。
答案 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::String
,generic<typename T> System::Collections::Generic::List
等)