インテル® Fortran コンパイラー 14.0 ユーザー・リファレンス・ガイド
プリプロセッサー・シンボル (マクロ) を使用すると、コンパイルする前にプログラムの値を置換することができます。この処理は、前処理フェーズで行います。
一部のプリプロセッサー・シンボルはコンパイラー・システムによって事前定義されており、コンパイラー宣言子および fpp で使用できます。他のシンボルを使用する場合は、コマンド行で指定します。
前処理中に使用されるシンボル名を定義するには、D コンパイラー・オプションを使用します。 このオプションの機能は、#define というプリプロセッサー宣言子と同じです。
fpp を使用して前処理を行うと、定義したシンボルの名前が検出されるたびに、指定されている値に置換されます。前処理コンパイラー宣言子では、IF と IF DEFINED のみ許可されています。
前処理時のシンボルの置換 (マクロの展開とも呼ぶ) を無効にするには、fpp macro=no プリプロセッサー・オプションを指定します。
前処理時のシンボルの置換を無効にすることで、fpp を使用して、置換せずに、条件付きコンパイル (#ifdef の使用など) を実行することができます。
プリプロセッサー・シンボルの自動定義を抑止するには、U プリプロセッサー・オプションを使用します。 このオプションは、指定された名前について、現在有効になっているシンボル定義を抑止するために使用します。 このオプションの機能は、#undef というプリプロセッサー宣言子と同じです。
シンボル | 説明 | サポート OS |
---|---|---|
_DLL=1 |
/libs:static オプションを指定した場合には定義されません。 |
Windows* |
__ELF__ |
コンパイル開始時に定義されます。 |
Linux* |
__gnu_linux__ |
コンパイル開始時に定義されます。 |
Linux* |
__i386__ __i386 i386 |
IA-32 アーキテクチャー用のコードをビルドします。 |
Linux* |
__INTEL_COMPILER_BUILD_DATE |
YYYYMMDD |
Linux* Windows* |
__INTEL_COMPILER_UPDATE=n |
現在のアップデート番号を特定します。 |
Linux* Windows* |
__INTEL_OFFLOAD |
(Windows*、Linux*) このシンボルは、CPU とコプロセッサーで実行するコードをビルドする際にコンパイラーによって定義されます。 このシンボルと [Q]offload コンパイラー・オプションの否定形、あるいは Qmic (Windows*) または mmic (Linux*) を一緒に使用して、mic_lib.f90 の omp_set_num_threads_target API の呼び出しのようにオフロードビルドでのみ実行されるホスト上のコードを保護します。 デフォルトで定義されます。CPU とコプロセッサーで実行するコードをビルドします。[Q]offload コンパイラー・オプションの否定形、あるいは Qmic (Windows*) または mmic (Linux*) を使用した場合の動作は未定義です。 |
|
__KNC__ |
(Windows*、Linux*) このシンボルは、__MIC__ に似ていますが、インテル® Xeon Phi™ コプロセッサー (インテル® MIC アーキテクチャーのバリエーション) で実行するコードをビルドする際にコンパイラーによって定義されます。 |
|
__MIC__ |
(Windows*、Linux*) このシンボルは、コプロセッサーで実行するコードをビルドする際にコンパイラーによって定義されます。 このシンボルを使用して、コプロセッサー向けにコンパイルされ、コプロセッサー上でのみ実行されるようにコードを保護できます。 デフォルトで定義されます。CPU とコプロセッサーで実行するコードをビルドできますが、このシンボルはコプロセッサーのコンパイルにのみ定義されます。 [Q]offload オプションの否定形を使用した場合の動作は未定義です。 コプロセッサー上で実行するコードをビルドするには、Qmic コンパイラー・オプション (Windows*) または mmic コンパイラー・オプション (Linux*) を使用します。 このシンボルは、Qmic (Windows*) または mmic (Linux*) を使用する場合に定義されます。 |
|
__linux__ __linux linux |
コンパイル開始時に定義されます。 |
Linux* |
_MT=1 |
/threads または /MT が指定された場合のみ |
Windows* |
_M_IX86=n00 |
IA-32 アーキテクチャー・ベースのシステムのみ。n には /G で指定された数値が割り当てられます (例えば、/G7 の場合は _M_IX86=700)。 |
Windows* |
_M_X64 |
インテル® 64 アーキテクチャー用のコードの条件を指定します。 |
Windows* |
_M_AMD64 |
インテル® 64 アーキテクチャー用のコードをビルドします。デフォルトで設定されます。 |
Windows* |
_OPENMP=201107 |
OpenMP* 処理が要求された (つまり、/Qopenmp が指定された) 場合。この値は YYYYMM 形式で、YYYY と MM はそれぞれ OpenMP* Fortran 仕様でサポートされた年と月を表します。 このプリプロセッサー・シンボルは、fpp と Fortran コンパイラーの条件付きコンパイルの両方で使用することができます。 |
Windows* |
_OPENMP=YYYYMM |
サポートされている OpenMP* 仕様を指定します。YYYY は年、MM は月を表します。 fpp と Fortran コンパイラーの条件付きコンパイルの両方に使用します。 デフォルト: 201107 -openmp オプションを指定する必要があります。 |
Linux* |
__PIC__ __pic__ |
位置に依存しないコードとしてコンパイルする場合に設定します。 |
Linux* |
_WIN64 |
インテル® 64 アーキテクチャー・ベースのシステムのみ。 |
Windows* |
__x86_64 __x86_64__ |
プログラムをコンパイルするターゲット・ハードウェアのアーキテクチャーを識別します。 アーキテクチャー: インテル® 64 のみ |
Linux* |