2013-04-17 55 views
3

我需要跟蹤與包含頭文件相關的錯誤,我懷疑一個或多個文件具有無可比擬的大括號和/或括號,我認爲這將是有助於查看預處理器帶給編譯器的文件;即完成所有宏替換並將所有標題內容粘貼在一起的文件。臨時文件與所有包含的標頭的內容

我知道,有一個編譯器選項保存該臨時文件到硬盤,但周圍的Googling後,我沒能發現,使我的信息搜索字符串,所以我尋求幫助:

什麼編譯器選項可以將預處理器的輸出保存到磁盤中?

我很感興趣,這個選項以下編譯器:

  • GCC
  • MSVC
+1

您也許還會看看[this](http://stackoverflow.com/questions/277258/c-c-source-file-after-preprocessing) –

+0

好的@SuvP!謝謝,順便說一句,我正在閱讀關於'-save-temps' for gcc –

+2

用於搜索「C預處理器輸出」,「C預處理後」和其他類似的搜索字符串在其第一個結果中有其他類似和回答良好的SO問題。那麼你試過什麼搜索字符串? –

回答

4

大多數,如果不是所有的編譯器(所有我曾經使用)允許您通過使用CC -E myfile.cpp > myfile.i「預處理源文件」,其中CC是您的編譯器的名稱(例如CL,gcc, g++clangclang++

這將產生的一切大的文件,如果你有機會到編輯器會自動格式的文件(如M-x indent-region在Emacs等),然後你可以使用縮進並查看您的無與倫比的大括號。