2012-03-02 72 views
1

有沒有辦法列出所有的C預處理器定義?有沒有辦法列出所有的C預處理器定義?

我在從源GCC編譯和

#if defined __APPLE__ 
#error "Apple" 
#else 
#error "Ahh" 
#endif 

MAC是給我:

error: #error "Ahh" 

我的編譯配置選項有:

${PWD}/../gcc/configure --prefix="${PWD}/../build/" --exec-prefix="${PWD}/../build/" --datadir="${PWD}/../build/" --target=avr --enable-languages=c --disable-libssp --disable-lto --disable-nls --disable-libgomp --disable-gdbtk --disable-threads --enable-poison-system-directories 

回答

3

如果您正在使用gnu cpp,您可以通過選項-dM發出所有已定義的宏。那就是:

 
$ cpp -dM foo.c 

會告訴你所有爲foo.c定義的東西。在make命令行中會有額外的定義,在config.h中可能會有更多的東西,但是如果你抓取make的輸出並重新運行添加了-Xpreprocessor -dM的命令,你應該可以看到所有的東西。

+0

arg,這個工程,但沒有什麼定義告訴我我在Mac上:( – Justin808 2012-03-03 00:20:31

相關問題