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

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

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

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

前処理中に使用されるシンボル名を定義するには、-D (Linux* および OS X*) または /D (Windows*) を使用します。 このオプションの機能は、#define というプリプロセッサー宣言子と同じです。

詳細は、次のトピックを参照してください。

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

前処理時のシンボルの置換 (マクロの展開とも呼ぶ) を無効にするには、-fpp:"-macro=no" (Linux* および OS X*) または /fpp:"/macro=no" (Windows*) を指定します。

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

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

詳細は、次のトピックを参照してください。

Windows*:

次の説明は Windows* システムが対象になります。

プリプロセッサー・シンボルの指定は、コマンドライン、または Visual Studio* 統合開発環境 (IDE) から指定できます。IDE では、[Project (プロジェクト)] > [Properties (プロパティ)] を選択し、[General (全般)] カテゴリーの [Preprocessor Definitions (プリプロセッサーの定義)] オプションを使用するか、[Preprocessor (プリプロセッサー)] カテゴリーのオプションを使用します。

次に、利用可能なプリプロセッサー・シンボルを示します。

Windows* の事前定義のシンボル名および値

シンボルが定義される条件

__INTEL_COMPILER=1300

インテル® Fortran コンパイラーを識別する場合

__INTEL_COMPILER_BUILD_DATE=YYYYMMDD

インテル® Fortran コンパイラーのビルドの日付を識別する場合

_DLL=1

/libs:dll/MDs/MD/dll、または /LD が指定された場合のみ。/libs:static が指定された場合は定義されません

_MT=1

/threads または /MT が指定された場合のみ

_M_IX86=n00

IA-32 アーキテクチャー・ベースのシステムのみ。n には /G で指定された数値が割り当てられます (例えば、/G7 の場合は _M_IX86=700)。

_M_X64

インテル® 64 アーキテクチャー・ベースのシステムのみ。インテル® 64 対応アプリケーションの条件付けに使用する場合。

_M_AMD64

インテル® 64 アーキテクチャー・ベースのシステムのみ。このシンボルは、デフォルトで設定されています。

_OPENMP=201107

OpenMP* 処理が要求された (つまり、/Qopenmp が指定された) 場合。この値は YYYYMM 形式で、YYYYMM はそれぞれ OpenMP* Fortran 仕様でサポートされた年と月を表します。 このプリプロセッサー・シンボルは、fpp と Fortran コンパイラーの条件付きコンパイルの両方で使用することができます。

_PGO_INSTRUMENT

/Qprof_gen が指定された場合

_WIN32

常に定義されます

_WIN64

インテル® 64 アーキテクチャー・ベースのシステムのみ。

Linux* および OS X*:

次の説明は Linux* および OS X* に適用されます。

特に明記されていない限り、シンボルはすべてのアーキテクチャーに適用されます。

Linux*/OS X* のシンボル名

説明

__INTEL_COMPILER=n

インテル® Fortran コンパイラーを識別する場合

デフォルト: ON、n=1300

__INTEL_COMPILER_BUILD_DATE

=YYYYMMDD

インテル® Fortran コンパイラーのビルドの日付を識別する場合

__linux__ (Linux* のみ)

__linux (Linux* のみ)

__gnu_linux__ (Linux* のみ)

linux (Linux* のみ)

__unix__ (Linux* のみ)

__unix (Linux* のみ)

unix (Linux* のみ)

__ELF__ (Linux* のみ)

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

__APPLE__ (OS X* のみ)

__MACH__ (OS X* のみ)

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

アーキテクチャー: IA-32 のみ

__i386__

__i386

i386

プログラムをコンパイルするターゲット・ハードウェアのアーキテクチャーを識別します。

アーキテクチャー: IA-32 のみ

__x86_64

__x86_64__

プログラムをコンパイルするターゲット・ハードウェアのアーキテクチャーを識別します。

アーキテクチャー: インテル® 64 のみ

__MIC__n

インテル® MIC アーキテクチャー・コプロセッサーでコンパイルされたコードの場合に設定します。

_OPENMP=n

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

デフォルト: n=201107

_PGO_INSTRUMENT

-prof-gen が指定された場合

デフォルト: OFF

__PIC__

__pic__

位置に依存しないコードとしてコンパイルする場合に設定します。OS X* では、これらのシンボルは常に設定されます。

デフォルト: OFF (Linux*)、ON (OS X*)


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