Sun Studio 12 Update 1: Fortran ユーザーズガイド

3.4.10 –Dname[ =def]

プリプロセッサのシンボル name を定義します。

このオプションは .F.F90.F95、および .F03 ソースファイルだけに適用します。

-Dname=def name が値 def を持つものと定義します。

-Dname name1 と定義します。

このオプションはコマンド行で name を、

#define name[=def]

とソースファイルに記述されている場合のように定義します。= def の指定がないと、シンボル名 name は値 1 として定義されます。マイクロシンボル name はプリプロセッサ fpp (または cpp-xpp オプションを参照)に渡されて展開されます。

事前定義されたマクロシンボルの前には 2 つの下線を付けます。Fortran 構文には事前定義されたマクロの実際の値は使用できません。事前定義されたマクロは、fppcpp のプリプロセッサ指令内だけで使用してください (初めに付く 2 つの下線に注意)。

コンパイラが作成した定義を表示するには、冗長メッセージオプション (-v) を付けてコンパイルします。

これらの値は、次のようなプリプロセッサ条件で使用することができます。

#ifdef _ _sparc

f95 は、デフォルトで fpp(1) プリプロセッサを使用します。C プリプロセッサ cpp(1) と同様に、fpp はソースコードマクロを展開して、コードを条件付きでコンパイルすることができます。ただし、cpp とは異なり、fpp は Fortran 構文を理解できるので、Fortran プリプロセッサとしてはこちらを使用することをお勧めします。-xpp=cpp フラグを使用すると、コンパイラは fpp ではなく cpp を使用します。