2012-03-02 49 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

相关问题