[解決済み】GCCのプリプロセッサー定義のダンプ
2022-04-01 16:51:20
質問
gcc/g++がコマンドラインからプリプロセッサの定義をダンプする方法はありますか?
つまり、次のようなものです。
__GNUC__
,
__STDC__
といった具合です。
どのように解決するのですか?
はい、使用します。
-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と同義語として解釈されます。
関連
-
[解決済み] gcc/g++とcc1/cc1plusの違いは何ですか?
-
[解決済み] GCCで「文字列定数から'char*'`への非推奨の変換」という警告を消すにはどうしたらいいですか?
-
[解決済み] なぜGCCはa*a*a*a*aを(a*a*a)*(a*a*a)に最適化しないのでしょうか?
-
[解決済み] Cプリプロセッサはなぜ "linux "という単語を定数 "1 "と解釈するのですか?
-
[解決済み] g++とgccの違いは何ですか?
-
[解決済み】高放射能環境下で使用するアプリケーションのコンパイルについて
-
[解決済み】gcc makefileのエラー。"No rule to make target ..." (ターゲットにするルールがありません)
-
[解決済み】LinuxでGCCのデフォルトインクルードパスを追加する方法は?
-
[解決済み】GCCを使用して読みやすいアセンブリを作成しますか?
-
[解決済み】すべてのgcc警告を無効にする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】valgrindエラーの解釈 サイズ4の無効な書き込み
-
[解決済み】警告:イニシャライザーの周りに中括弧がないことを修復する方法?
-
[解決済み】ファイル形式が認識されない。GCCを使用してリンカスクリプトとして扱う
-
[解決済み】g++ output: file not recognized: ファイル形式が認識されない
-
[解決済み] .ascizと.stringアセンブラディレクティブの違いは何ですか?
-
[解決済み] 警告: 異なるサイズの整数への/からのポインタへのキャスト
-
[解決済み] gccやldで位置非依存の実行ファイルを作成するための-fPIEオプションとは何ですか?
-
[解決済み] gcc/g++とcc1/cc1plusの違いは何ですか?
-
[解決済み] LLVMとは何ですか?
-
[解決済み] ビルドターゲットの外にgccのデバッグシンボルを生成する方法は?