2012-03-02 13 views
1

Cプリプロセッサ定義をすべてリストする方法はありますか?Cプリプロセッサ定義をすべてリストする方法はありますか?

ソースGCCからコンパイルおよび

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

が私を与えていると私はMac上だ

error: #error "Ahh" 

私のコンパイルconfigureオプションは以下のとおりです。

${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、これは動作しますが、何も定義されていません。 – Justin808

関連する問題