gcc/g++ がコマンドラインからデフォルトのプリプロセッサ定義をダンプする方法はありますか? つまり__GNUC__
、、、__STDC__
などのことです。
ベストアンサー1
はい、使います-E
-dM
オプションの代わりに-c例(標準出力に出力します):
echo | gcc -dM -E -
echo | clang -dM -E -
C++の場合
echo | g++ -dM -E -x c++ -
echo | clang++ -dM -E -x c++ -
からGCC マニュアル:
通常の出力の代わりに、プリプロセッサの実行中に定義されたすべてのマクロ(定義済みマクロを含む)の「#define」ディレクティブのリストを生成します。これにより、プリプロセッサのバージョンで何が定義済みであるかを知ることができます。ファイルfoo.hがないと仮定すると、コマンド
touch foo.h; cpp -dM foo.h
定義済みのマクロがすべて表示されます。
-E オプションなしで -dM を使用すると、-dM は -fdump-rtl-mach の同義語として解釈されます。