プリプロセッサ・シンボル (マクロ) を使用すると、コンパイルする前にプログラムの値を置換することができます。この処理は、前処理フェーズで行います。
一部のプリプロセッサ・シンボルはコンパイラ・システムによって事前定義されており、コンパイラ・ディレクティブおよび fpp で使用できます。他のシンボルを使用する場合は、コマンド行で指定します。
「プリプロセッサ・オプション」も参照してください。
次の表は、インテル® Fortran コンパイラで使用できる定義済みプリプロセッサ・シンボルです。「デフォルト」欄では、デフォルトでそのプリプロセッサ・シンボルが有効 (オン) になるのか、あるいは無効 (オフ) になるのかを示します。
シンボル名 |
デフォルト |
アーキテクチャ (IA-32 または Itanium® ベース) |
説明 |
__INTEL_COMPILER=n |
On, n=810 |
両方 |
インテル Fortran コンパイラを識別します。 |
__INTEL_COMPILER_BUILD_DATE |
|
両方 |
インテル Fortran コンパイラのビルドの日付を示します。 |
__linux__ |
|
両方 |
コンパイル開始時に定義されます。 |
__i386__ |
|
IA-32 アーキテクチャ |
|
__ia64__ |
|
Itanium アーキテクチャ |
|
_OPENMP=n |
n=200011 |
両方 |
このプリプロセッサ・シンボルは、YYYYMM 形式で、YYYY と MM はそれぞれ OpenMP Fortran 使用がサポートされた年と月を表します。fpp と Fortran コンパイラの条件付きコンパイルの両方で、このプリプロセッサ・シンボルを使用できます。また、-openmp が指定された場合のみ使用できます。 |
_PRO_INSTRUMENT |
オフ |
両方 |
-prof_gen が指定されたときに、定義されます。 |
前処理中に使用されるシンボル名を定義するには、-D オプションを使用します。このオプションの機能は、#define というプリプロセッサ・ディレクティブと同じです。次の形式でこのオプションを指定します。
-Dname[=value]
各アイテムの意味は次のとおりです。
name は定義するシンボルの名前です。
value は name を置き換える任意の 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 プリプロセッサ・ディレクティブと同じ機能を果たします。