cppコマンドを使って定義済みマクロの一覧を得る
cpp(Cプリプロセッサ)コマンドについて学んだのでメモ。
Cコンパイラが内部で起動するプリプロセッサですが、単体で実行することもできます。・・・でも、たぶん、あまりしないのかも?
$ which cpp /usr/bin/cpp
色々オプションがあるけれども、とりあえず試したこと。
標準定義済みマクロを得る
-dMオプションで、プリプロセッサの実行中に定義された#define制御子のリストを出力します。
ということは、空のファイルに対して実行すれば、標準定義マクロのみのリストを得られます。
$ touch hoge.h $ cpp -dM hoge.h
非標準定義済みマクロ(と処理結果)を得る
標準でない、プラットフォーム固有の定義マクロを確認したいとき。
-dDオプションで、定義済みマクロを含めずに、#define制御子のリストと前処理の結果を出力します。
これも、同じように空のファイルに対して実行します。
$ touch moga.h $ cpp -dD moga.h