2012-01-10 118 views

回答

2

在GCC中,使用gcc -E source.c僅顯示預處理器的輸出。

相同的叮噹,我相信。

對於其他編譯器,請參閱手冊。這應該明確記錄。

+0

哇,我不能相信我錯過了這個!謝謝。一個簡單的問題是:在讀取輸出時,是否只有不以'#'開頭的行被髮送到編譯器? – 2012-01-10 22:29:09

+0

@AdamS:不是。編譯器仍然需要其餘指令來生成錯誤消息中正確的文件名和行號輸出。 – 2012-01-10 22:31:53

1

這正是BoostWave已創建。

波浪C++預處理器庫是一個標準一致實現的填充後面一個簡單易用的界面處的授權C99/C++預處理器的功能,它與標準模板庫(STL)的公知的慣用語以及集成。

0

幾乎所有我使用的C++編譯器都有其命令行開關來執行此任務;在g ++上它是-E(它在stdout上寫輸出,見manpage),在VC++上它是/EP(輸出到stdout)或/P(輸出到文件)。

+0

對於VC++,還有'/ E'和'/ EP'。 – ildjarn 2012-01-10 22:05:21