インテル® Fortran コンパイラー 14.0 ユーザー・リファレンス・ガイド

定義済みプリプロセッサー・シンボルの使用

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

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

前処理中に使用されるシンボル名を定義するには、D コンパイラー・オプションを使用します。 このオプションの機能は、#define というプリプロセッサー宣言子と同じです。

fpp を使用して前処理を行うと、定義したシンボルの名前が検出されるたびに、指定されている値に置換されます。前処理コンパイラー宣言子では、IF と IF DEFINED のみ許可されています。

前処理時のシンボルの置換 (マクロの展開とも呼ぶ) を無効にするには、fpp macro=no プリプロセッサー・オプションを指定します。

前処理時のシンボルの置換を無効にすることで、fpp を使用して、置換せずに、条件付きコンパイル (#ifdef の使用など) を実行することができます。

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

シンボル 説明 サポート OS

_DLL=1

次のオプションを指定した場合の定義されます。

  • /libs:dll

  • /MDs

  • /MD

  • /dll

  • /LD

/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.f90omp_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 形式で、YYYYMM はそれぞれ 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*

関連情報


このヘルプトピックについてのフィードバックを送信