プリプロセッサに対してマクロシンボル名 name を def と定義します。
このオプションは、ソースファイルの先頭に #define 指令を記述するのと同じです。-D オプションは複数指定できます。
次の表は、事前に定義されているマクロを示しています。これらの値は、#ifdef のようなプリプロセッサに対する条件式の中で使用できます。
表 A–2 事前定義マクロ
プラットフォーム |
マクロ名 |
備考 |
---|---|---|
SPARC および x86 |
「配列」形式の演算子 new と delete を有効にしてコンパイルした場合に使用される。詳細は -features=[no%]arraynew を参照。 |
|
varargs.h、stdarg.h、sys/varags.h のキーワードが __builtin_alloca、 __builtin_va_alist、__builtin_va_arg_incr の場合に使用される。 |
||
ゼロに設定 |
||
「A.2.7 -compat[={ 4|5}]」を参照してください。 |
||
uname -s は uname -s の出力で、uname -r は uname -r の出力。無効な文字 (ピリオドなど) は下線で置き換えられる (例: -D__SunOS_5_9 および -D__SunOS_5_10)。 |
||
ブール型を有効にした場合に使用される。詳細は -features=[no%]bool を参照 |
||
_WCHAR_T | ||
「相互の関連性」を参照。 |
||
SPARC |
__SUN_PREFETCH=1 | |
__SunOS_OSversion _OSversion | ||
「相互の関連性」を参照。 |
||
sun |
「相互の関連性」を参照。 |
|
SPARC v9 |
64 ビットコンパイルモードのみ |
|
x86 | ||
linux | ||
_ _amd64 | ||
_ _gnu_ _linux_ _ | ||
「相互の関連性」を参照。 |
||
_ _ linux | ||
_ _ linux_ _ | ||
_ _x86 _ 64 |
=def を使用しないと、name は 1 になります。
+p が使用されている場合は、sun、unix、sparc、i386 は定義されません。
-U