2014-05-07 160 views
-1

我有用C#编写的个人项目,但由于一些问题和平台依赖性,我决定用C++重写程序。将整个C#项目转换为C++

该项目包含数十个类和数千行代码。我想知道是否有办法至少生成正确的头文件,以及只有方法存根的cpp文件。

我知道直接生成代码是不可能的,但只生成程序的骨架将是一个很大的帮助。

我的C#项目是一个Visual Studio 2013项目和我想将它转换为本地C++,因此不包括CLI包括

我想这样做是这样的:

  1. 列表项
  2. 抢项目中的每个类。
  3. 根据类生成头文件。
  4. 使用基于类的方法存根生成.cpp文件。
+1

你试图做的似乎并不合理。 C#具有CLI依赖关系,因此,如果没有它,任何直接转换为本地代码都是不切实际的。 –

+3

这似乎不可行,但我最好的尝试是尝试使用一些反向工程工具从代码中提取UML模型,然后使用代码生成工具从该模型创建C++外观。我不会将其作为答案发布,因为如果有任何支持此工作流的特定工具(我认为应该有这些工具),我无法说出。 – jdehesa

+0

是的,这个UML反向生成看起来是个好主意,而且这非常接近我首先想到的。 – VSZM

回答

5

如果您尝试避免使用C++/CLI,自动转换确实没有意义。

主要问题不在于类和代码 - 它是底层框架如此巨大的不同,以至于您可能需要重新构建,重新构建并更改您的方法,以便在本地正常工作版。

许多在C#中常见的概念将不会以相同的方式映射到C++。