このオプションは .F、.F90、.F95、および .F03 ソースファイルだけに適用します。
-Dname=def name が値 def を持つものと定義します。
-Dname name を 1 と定義します。
このオプションはコマンド行で name を、
#define name[=def]
とソースファイルに記述されている場合のように定義します。= def の指定がないと、シンボル名 name は値 1 として定義されます。マイクロシンボル name はプリプロセッサ fpp (または cpp。-xpp オプションを参照) に渡されて展開されます。
事前定義されたマクロシンボルの前には 2 つの下線を付けます。Fortran 構文には事前定義されたマクロの実際の値は使用できません。事前定義されたマクロは、fpp か cpp のプリプロセッサ指令内だけで使用してください (初めに付く 2 つの下線に注意)。
コンパイラバージョンは _ _SUNPRO_F90 および _ _SUNPRO_F95 内で (16 進で) 事前定義されています。たとえば、_ _SUNPRO_F95 は、Oracle Solaris Studio 12.4 リリースの Fortran コンパイラのバージョン 8.6 の場合、0x860 です。
次のマクロは、該当するシステム上でそれぞれ事前定義されています。
_ _sparc、_ _unix、_ _sun、_ _SVR4、__i386、_ _SunOS_5_10、_ _SunOS_5_11
記号 _ _sparc、_ _sparcv8、および _ _sparcv9 は、それぞれの SPARC システム上で定義されます。
sparc、unix、sun は、下線なしで事前定義されていますが、将来のリリースで削除される可能性があります
64 ビット x86 システムでは、__amd64 および __x86_64 マクロが定義されています。
.F、.F90、.F95、または .F03 ソースファイルを -v 詳細オプションでコンパイルすると、コンパイラによって想定されるプリプロセッサ定義が表示されます。
これらの値は、次のようなプリプロセッサ条件で使用することができます。
#ifdef _ _sparc
f95 は、デフォルトで fpp(1) プリプロセッサを使用します。C プリプロセッサ cpp(1) と同様に、fpp はソースコードマクロを展開して、コードを条件付きでコンパイルすることができます。ただし、cpp とは異なり、fpp は Fortran 構文を理解できるので、Fortran プリプロセッサとしてはこちらを使用することをお勧めします。-xpp=cpp フラグを使用すると、コンパイラは fpp ではなく cpp を使用します。