インテル® C++ コンパイラは、以下の表の事前定義済みマクロをサポートします。また、ISO/ANSI 標準で指定される事前定義マクロもサポートします。「C の標準規格との適合性」 を参照してください。
マクロ名 | 値 | アーキテクチャ |
---|---|---|
__BASE_FILE__ | ソースファイルの名前 | 両方 |
__cplusplus | 1 | 両方 |
__EDG__ | 1 | 両方 |
__EDG_VERSION__ | 303 | 両方 |
__ELF__ | 1 | 両方 |
__EXCEPTIONS | -fno-exceptions が使用されていない場合に定義されます。 | IA-32 のみ |
__GNUC__ | gcc のバージョンが 3.2 より前の場合は 2 gcc のバージョンが 3.2、3.3、または 3.4 の場合は 3 |
両方 |
__gnu_linux__ | 1 | 両方 |
__GNUC_MINOR__ | gcc のバージョンが 3.2 より前の場合は 95 gcc のバージョンが 3.2 の場合は 2 gcc のバージョンが 3.3 の場合は 3 gcc のバージョンが 3.4 の場合は 4 |
両方 |
__GNUC_PATCHLEVEL__ | 0 | 両方 |
__GXX_ABI_VERSION | 102 | 両方 |
__i386 | 1 | IA-32 のみ |
__i386__ | 1 | IA-32 のみ |
i386 | 1 | IA-32 のみ |
__ia64 | 1 | Itanium® アーキテクチャのみ |
__ia64__ | 1 | Itanium アーキテクチャのみ |
ia64 | 1 | Itanium アーキテクチャのみ |
__INTEL_COMPILER | 810 | 両方 |
__INTEL_COMPILER_BUILD_DATE | YYYYMMDD | 両方 |
__INTEL_CXXLIB_ICC | コンパイル中に -cxxlib_icc オプションが指定された場合は 1 | 両方 |
__INTEL_RTTI__ | -fno-rtti が指定されていない場合は 1 | 両方 |
__INTEL_STRICT_ANSI__ | -strict_ansi が指定された場合は 1 | 両方 |
_INTEGRAL_MAX_BITS | 64 | Itanium アーキテクチャのみ |
__itanium__ | 1 | Itanium アーキテクチャのみ |
__linux | 1 | 両方 |
__linux__ | 1 | 両方 |
linux | 1 | 両方 |
__LONG_DOUBLE_SIZE__ | 80 | IA-32 のみ |
__LONG_MAX__ | 9223372036854775807L | Itanium アーキテクチャのみ |
__lp64 | 1 | Itanium アーキテクチャのみ |
__LP64__ | 1 | Itanium アーキテクチャのみ |
_LP64 | 1 | Itanium アーキテクチャのみ |
__NO_INLINE__ | 1 | 両方 |
__NO_MATH_INLINES | 1 | 両方 |
__NO_STRING_INLINES | 1 | 両方 |
__OPTIMIZE__ | 1 | 両方 |
__PIC__ | -fPIC が使用される場合は 1 | 両方 |
__pic__ | -fPIC が使用される場合は 1 | 両方 |
_PGO_INSTRUMENT | -prof_gen[x] が使用される場合は 1 | 両方 |
__PTRDIFF_TYPE__ | int (IA-32) long (Itanium アーキテクチャ) |
両方 |
__REGISTER_PREFIX__ | (値なし) | 両方 |
__SIGNED_CHARS__ | 1 | 両方 |
__SIZE_TYPE__ | unsigned (IA-32) unsigned long (Itanium アーキテクチャ) |
両方 |
__unix | 1 | 両方 |
__unix__ | 1 | 両方 |
unix | 1 | 両方 |
__USER_LABEL_PREFIX__ | (値なし) | 両方 |
__VERSION__ | "Intel® C++ gcc 3.0 mode" | 両方 |
__WCHAR_T | 1 | 両方 |
__WCHAR_TYPE__ | long int (IA-32) int (Itanium アーキテクチャ) |
両方 |
__WINT_TYPE__ | unsigned int | 両方 |
指定された name で現在有効になっているマクロ定義を抑止するには、-Uname オプションを使用します。-U オプションは、#undef プリプロセッサ・ディレクティブと同じ機能を果たします。-no-gcc オプションを使用して、__GNUC_MINOR__、__GNUC_MINOR__、および __GNUC_PATCHLEVEL__ マクロを無効にできます。