調べてみました。
gcc
-E: コンパイル・リンクを行わない(プリプロセッサ処理だけ行う)-dM: 有効なマクロ定義を出力
g++
-x: 言語設定- 標準入力だと
.cor.cppで判定できないので、明示的に.cppであることを知らせる
- 標準入力だと
ちなみに、サポートしている std オプションの一覧は以下で取得できる。
参考資料
- Man page of GCC
- Standards (Using the GNU Compiler Collection (GCC))
- Pre-defined Compiler Macros / Wiki / Standards
- 処理系 - cpprefjp C++日本語リファレンス
- g++ (GCC) が対応している言語規格(std値) を確認する方法 - Qiita
初期状態を見るだけなら、
— Katsuhiro Suzuki (@ksattkb) August 29, 2020
echo | gcc -dM -E - | grep STDC_V
にすると C ソースコードファイル(a.c)も要りません。
なんかもっとスマートな方法がありそう。。。
0 件のコメント:
コメントを投稿