Loose-Info.com
Last Update 2021/12/17
TOP - 各種テスト - gcc - -d文字 - -dD

-dD
#define指令のリストと前処理の結果を出力

テスト概要

-dDオプションを使用した際の出力例

実行環境

GCC-8.2.0
GNU C Library 2.28
GNU Binutils 2.31.1


コード例・出力内容中の表記

・実行例中の太字表記部分は、コマンドなどの入力された文字列を示します。
・「」や「...」の着色省略表記は、 実際のソースコードや出力内容などを省略加工した部分を示します。

使用ファイル


sample.c
#ifdef __STDC_VERSION__ #define SAMPLE 0 #else #define SAMPLE 1 #endif int main(void) { return SAMPLE; }

動作テスト

-dDオプションを使用した際の出力例
(前処理で停止させるため-Eオプション使用)
$ gcc -dD -E sample.c # 1 "sample.c" # 1 "<built-in>" #define __STDC__ 1 #define __STDC_VERSION__ 201710L #define __STDC_UTF_16__ 1 #define __STDC_UTF_32__ 1 #define __STDC_HOSTED__ 1 #define __unix 1 #define __unix__ 1 #define unix 1 #define __ELF__ 1 #define __DECIMAL_BID_FORMAT__ 1 # 1 "<command-line>" # 31 "<command-line>" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 19 "/usr/include/stdc-predef.h" 3 4 #define _STDC_PREDEF_H 1 # 38 "/usr/include/stdc-predef.h" 3 4 #define __STDC_IEC_559__ 1 #define __STDC_IEC_559_COMPLEX__ 1 # 58 "/usr/include/stdc-predef.h" 3 4 #define __STDC_ISO_10646__ 201706L # 32 "<command-line>" 2 # 1 "sample.c" #define SAMPLE 0 int main(void) { return 0; } $ #define指令のリスト、および前処理の結果を出力

注)
上記出力例において、__STDC__などの「定義済みマクロ」と考えられる#define指令が含まれ、 マニュアル上の「it does not include the predefined macros」の適用内容が不明。