定義済みプリプロセッサ・シンボル

プリプロセッサ・シンボル (マクロ) を使用すると、コンパイルする前にプログラムの値を置換することができます。この処理は、前処理フェーズで行います。

一部のプリプロセッサ・シンボルはコンパイラ・システムによって事前定義されており、コンパイラ・ディレクティブおよび fpp で使用できます。他のシンボルを使用する場合は、コマンド行で指定します。

「プリプロセッサ・オプション」も参照してください。

次の表は、インテル® Fortran コンパイラで使用できる定義済みプリプロセッサ・シンボルです。「デフォルト」欄では、デフォルトでそのプリプロセッサ・シンボルが有効 (オン) になるのか、あるいは無効 (オフ) になるのかを示します。

シンボル名

デフォルト

アーキテクチャ (IA-32 または Itanium® ベース)

説明

__INTEL_COMPILER=n

On, n=810

両方

インテル Fortran コンパイラを識別します。

__INTEL_COMPILER_BUILD_DATE
=
YYYYMMDD

 

両方

インテル Fortran コンパイラのビルドの日付を示します。

__linux__
__linux
__gnu_linux__
linux
__unix_
__unix
unix
__ELF__
 

 

両方

コンパイル開始時に定義されます。

__i386__
__i386
i386

 

IA-32 アーキテクチャ

 

__ia64__
__ia64
ia64

 

Itanium アーキテクチャ

 

_OPENMP=n

n=200011

両方

このプリプロセッサ・シンボルは、YYYYMM 形式で、YYYYMM はそれぞれ OpenMP Fortran 使用がサポートされた年と月を表します。fpp と Fortran コンパイラの条件付きコンパイルの両方で、このプリプロセッサ・シンボルを使用できます。また、-openmp が指定された場合のみ使用できます。

_PRO_INSTRUMENT

オフ

両方

-prof_gen が指定されたときに、定義されます。

 

プリプロセッサ・シンボルの定義

前処理中に使用されるシンボル名を定義するには、-D オプションを使用します。このオプションの機能は、#define というプリプロセッサ・ディレクティブと同じです。次の形式でこのオプションを指定します。

-Dname[=value]

各アイテムの意味は次のとおりです。

value を入力しなかった場合、name は 1 に設定されます。スペースまたは特殊文字がある場合は、value が引用符で囲まれていなければなりません。

前処理を行うと、name が検出されるたびに、指定されている value に置換されます。例えば、SIZE という名前のシンボルを定義し、値を 100 にするには、次のコマンドを実行します。

ifort -fpp -DSIZE =100 prog1.f

前処理を行うと、前処理されたソースコードをコンパイラに渡す前に、SIZE が指定されている値の 100 に置換されます。プログラムに次の宣言が含まれていることを仮定します。

REAL VECTOR(SIZE)

コンパイラに送信されるコードでは、この宣言およびその他 SIZE という名前が検出されるすべての箇所において、値 100 が SIZE に取って代わります。

プリプロセッサ・シンボルの抑止

プリプロセッサ・シンボルの自動定義を抑止するには、-U オプションを使用します。このオプションは、指定された名前について現在有効になっているシンボル定義を抑止するために使用します。 -U オプションは、#undef プリプロセッサ・ディレクティブと同じ機能を果たします。