2013-03-26 66 views
0

當GCC的預處理程序在選項-E中運行時發現#error時,是否有辦法停止它?如何在#error上停止'gcc -E'

例如,在下面的程序:

 
#error STOP HERE 
int main() { 
    return 0; 
} 

運行gcc上位於第1行該程序導致中斷的彙編,但運行gcc -E輸出相同的線,然後用預處理繼續。

注:我的問題類似於GCC#pragma to stop compilation,但關於-E的標誌,所以也許應該合併?

回答

1

簡短的回答是否定的。處理器指令(例如#error)用於給編譯器提供命令。通過使用-E選項,編譯器不會運行,所以它沒有理由停止。 -E標誌旨在打印所有在程序中編譯的代碼,而不用實際編譯。