#define 前処理マクロが指令によって定義されるのと同様に、オプションの引数を使用してマクロを定義します。=<展開> が指定されていない場合は、コンパイラは 1 であると仮定します。
事前定義されているものは次のとおりです (-Xc モードでは無効)。
次の事前定義はあらゆるモードにおいて有効です。
__BUILTIN_VA_ARG_INCR
__SunOS (Solaris オペレーティングシステム)
__SunOS_n_n (Solaris オペレーティングシステム)
__amd64 (-m64 オプションを使用した x86)
__gnu__linux (linux)
__i386 (x86)
__linux (linux)
__linux__ (linux)
__sparc (SPARC)
次は -Xa モードおよび -Xt モードにおいてのみ事前定義されます。
コンパイラでは、__PRAGMA_REDEFINE_EXTNAME のようなオブジェクト形式のマクロを定義しておくことにより、プラグマを認識させることができます。