Oracle® Solaris Studio 12.4: Fortran ユーザーズガイド

印刷ビューの終了

更新: 2014 年 12 月
 
 

3.4.9 –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 つの下線に注意)。

  • コンパイラバージョンは _ _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 システム上で定義されます。

  • sparcunixsun は、下線なしで事前定義されていますが、将来のリリースで削除される可能性があります

  • 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 を使用します。