我發現自己調試STL港口爲Android。它始終使用許多(10-100?)預處理器指令來決定預處理器實際輸出的代碼。大量的#if
和#ifdef
塊。
是否有可用的工具可以運行這些工具並顯示實際發送給編譯器的文本?是否有可能看到預處理器的輸出?
我發現自己調試STL港口爲Android。它始終使用許多(10-100?)預處理器指令來決定預處理器實際輸出的代碼。大量的#if
和#ifdef
塊。
是否有可用的工具可以運行這些工具並顯示實際發送給編譯器的文本?是否有可能看到預處理器的輸出?
在GCC中,使用gcc -E source.c
僅顯示預處理器的輸出。
相同的叮噹,我相信。
對於其他編譯器,請參閱手冊。這應該明確記錄。
哇,我不能相信我錯過了這個!謝謝。一個簡單的問題是:在讀取輸出時,是否只有不以'#'開頭的行被髮送到編譯器? – 2012-01-10 22:29:09
@AdamS:不是。編譯器仍然需要其餘指令來生成錯誤消息中正確的文件名和行號輸出。 – 2012-01-10 22:31:53