2009-10-05 54 views
3

我正在分析一個大量使用宏的遺留代碼,我迷失瞭解如何在代碼中擴展宏。從宏生成並保存代碼

任何人都可以建議我一些工具或技術,以便我可以研究從宏擴展生成的實際代碼。

平臺:Windows XP中
語言:C++
編譯器:VC6

+2

要小心你想要的。宏觀擴張後可能會更糟糕。 – 2009-10-05 16:13:36

+0

@mmyers,我只是想了解代碼是如何工作的,我不會去改變它 – Satbir 2009-10-05 16:14:27

回答

5

使用visual studio,您可以使用「生成預處理文件」選項。

在爲您的項目屬性中選擇

C/C++/Preprocessor/ 

在該選項卡中有一個選項:

generate a preprocessed file. 

選擇是,用數字。

4

執行預處理器(CPP)上的源文件。

+2

Chen已經展示瞭如何使用GCC來做到這一點。用VC,你需要傳遞'/ i'。 – sbi 2009-10-05 16:23:49

6

要運行GCC的預處理器只做:

gcc -E source-file.cc > processed-source-file.cc 

它也做的一切,你可能會或可能不希望的#includes。

+0

親愛的陳Levy,感謝您的寫作,但我的代碼是基於Windows和VC6的 – Satbir 2009-10-05 16:28:12

1

由於您使用的Visual C並不能幫助你,但它可能是幫助他人提:

的Netbeans 6.7能夠在一個單獨的顯示的C/C++代碼的宏擴展版本編輯期間的窗口。

+0

謝謝我將嘗試與Netbeans,我不會編譯,但可以編輯使用它:) – Satbir 2009-10-05 16:45:43