2014-05-07 63 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++。