最終更新:2013-04-15 (月) 04:14:12 (4254d)  

Visual C++/定義済みマクロ
Top / Visual C++ / 定義済みマクロ

http://msdn.microsoft.com/ja-jp/library/vstudio/b0084kay.aspx

定義済みマクロ

ANSI 準拠の定義済みマクロ

__DATE__?

  • 現在のソース ファイルのコンパイルの日付。 日付はフォーム yyyy Mmm ddリテラル文字列です。 月の名前 [MMM 月] はと TIME.H. で宣言されたライブラリ関数 asctime によって生成される日付を同じです。

__FILE__

  • 現在のソース ファイルの名前。 __FILE__ は二重引用符で囲んだ文字列に配置します。 ファイルへの完全パスが表示されていることを確認するには、/FC (診断時のソース コード ファイルの完全パス)を使用します。

__LINE__?

  • 現在のソース ファイルの行番号。 行番号は 10 進整数定数です。 これは #line のディレクティブに変更できます。

__STDC__

  • ANSI C 規格と完全に一致することを示します。 /Za のコンパイラ オプションが指定されると、整数定数が 1 と定義されて C++ コードをコンパイルするときだけ; は未定義です。

__TIME__?

  • 現在のソース ファイルの最新のコンパイル時間。 時間はフォーム hh: mm: ssリテラル文字列です。

__TIMESTAMP__?

  • Ddd と [日付] 曜日のフォーム Ddd Mmm の日付 hh: mm: yyyy "ためにリテラル文字列で表現される現在のソース ファイルが最後に変更された日時 1 から 31 までの整数です。

Microsoft 固有の組み込みマクロ

_ATL_VER

  • ATL バージョンを定義します。

_CHAR_UNSIGNED?

  • 既定の char の型が符号です。 /J を指定した場合に定義されます。

__CLR_VER?

  • アプリケーションがコンパイルされるときに使用される共通言語ランタイムのバージョンを定義します。

__cplusplus_cli?

  • /clr、/clr:pure、または /clr:safeでコンパイルした場合に定義されます。 __cplusplus_cli の値は 200406 です。 __cplusplus_cli は翻訳単位で有効になります。

__COUNTER__?

  • ソース ファイルのソース ファイルまたは含まれるヘッダーに使用されるたびに 0 から開始し、1 を乗算する整数に配置します。 __COUNTER__ は、プリコンパイル済みヘッダーの使用時に状態が保存されています。

__cplusplus

  • C++ プログラムのみに対して定義されます。

_CPPRTTI?

  • /GR でコンパイルしたコードに対して定義されます (ランタイムの型情報を有効にします)。

_CPPUNWIND?

  • /GX でコンパイルしたコードに対して定義されている例外処理を有効にします)。

_DEBUG

  • /LDd、/MDdと /MTdでコンパイルした場合に定義されます。

_DLL?

  • /MD または /MDd (マルチスレッド DLL) を指定した場合に定義されます。

__FUNCDNAME__?

  • 関数だけで有効です。 文字列と外側の関数の 装飾名 を定義します。
  • __FUNCDNAME__? は /EP または /P のコンパイラ オプションを使用すると配置されません。

__FUNCSIG__?

  • 関数だけで有効です。 文字列と外側の関数のシグネチャを定義します。
  • __FUNCSIG__ は /EP または /P のコンパイラ オプションを使用すると配置されません。
  • 64 ビット オペレーティング システムでは、呼び出し規約は、既定では、__cdecl です。

__FUNCTION__?

  • 関数だけで有効です。 文字列と外側の関数の装飾名を定義します。
  • __FUNCTION__ は /EP または /P のコンパイラ オプションを使用すると配置されません。

_INTEGRAL_MAX_BITS?

  • 整数型の最大サイズ (ビット) で報告されます。

_M_ALPHA?

  • サポートされなくなった DEC? Alpha? プラットフォームに対して定義されます。

_M_AMD64?

  • x64 プロセッサに対して定義されます。

_M_CEE?

  • /clr (/clr:oldSyntax、/clr:safe、たとえば) の形式を使用するコンパイルに対して定義されます。

_M_CEE_PURE?

  • /clr:pureを使用するコンパイルに対して定義されます。

_M_CEE_SAFE?

  • /clr:safeを使用するコンパイルに対して定義されます。

_M_IX86?

  • x86 プロセッサに対して定義されます。 詳細については、_M_IX86 の値 次の表を参照してください。 これは、x64 プロセッサでは定義されていません。

_M_IA64?

  • Itaniumの Processor Family の 64 ビット プロセッサに対して定義されます。

_M_ARM_FP?

  • 値の /arch のすべてのコンパイラ オプションが使用されているかともに配置します:
  • 範囲 30-39 では /arch の ARM のオプションを指定しないと、ARM の既定のアーキテクチャは、が使用されました (VFPv3)。
  • 範囲 40-49 /arch:VFPv4が使用された場合。
  • 詳細については、「/arch (最小限の CPU アーキテクチャ)」を参照してください。

_M_IX86_FP?

  • 値の /arch のすべてのコンパイラ オプションが使用されているかともに配置します:
  • /arch:IA32 が使用される場合は 0。
  • /arch:SSE が使用される場合は 1。
  • /arch:SSE2 が使用される場合は 2。 この値は /arch が指定されていない場合は既定値です。
  • 詳細については、「/arch (最小限の CPU アーキテクチャ)」を参照してください。

_M_MPPC?

  • サポートされなくなったPOWER Macintosh プラットフォーム用に定義されます。

_M_MRX000?

  • サポートされなくなった、 MIPS プラットフォーム用に定義されます。

_M_PPC?

  • サポートされなくなった、PowerPC プラットフォーム用に定義されます。

_M_X64?

  • x64 プロセッサに対して定義されます。

_MANAGED?

  • /clr が指定されたとき 1 であると定義されます。

_MFC_VER?

  • MFC のバージョンを定義します。
  • Visual Studio 2010では_MFC_VER は 0x0A00 として定義されます。

_MSC_BUILD?

  • コンパイラのバージョン番号のリビジョン番号のコンポーネントになります。 リビジョン番号はピリオドで区切られたバージョン番号の 4 番目のコンポーネントです。 たとえば、Visual C++ コンパイラのバージョン番号が 15.00.20706.01 B の場合、_MSC_BUILD のマクロが 1. に評価されます。

_MSC_EXTENSIONS?

  • このマクロは /Ze のコンパイラ オプション (既定値) とコンパイル時に定義されます。 この値は、定義した場合、1. です。

_MSC_FULL_VER?

  • コンパイラのバージョン番号のメジャー、マイナー、およびビルド番号のコンポーネントになります。 主要な数は、ピリオドで区切られたバージョン番号の最初のコンポーネントで、マイナー番号が 2 番目のコンポーネントであり、ビルド番号は 3 番目のコンポーネントです。 たとえば、Visual C++ コンパイラのバージョン番号が 15.00.20706.01 B の場合、_MSC_FULL_VER のマクロは 150020706 に評価されます。 コンパイラのバージョン番号を表示するコマンド ラインで cl /? を入力します。

_MSC_VER

  • コンパイラのバージョン番号のメジャー番号とマイナー番号コンポーネントになります。 主要な数は、ピリオドで区切られたバージョン番号の最初のコンポーネントであり、マイナー番号が 2 番目のコンポーネントです。
  • たとえば、Visual C++ コンパイラのバージョン番号が 15.00.20706.01 B の場合、_MSC_VER のマクロは 1500 に評価されます。
  • Visual Studio 2010 では、_MSC_VER は 1600 として定義されます。

__MSVC_RUNTIME_CHECKS?

  • /RTC のコンパイラ オプションの 1 つが指定した場合に定義されます。

_MT?

  • /MD または /MDd (マルチスレッド DLL) または /MT または /MTd (マルチスレッド) を指定した場合に定義されます。

_NATIVE_WCHAR_T_DEFINED?

  • /Zc: wchar_t を使用する場合に定義されます。

_OPENMP?

  • /openmp の Visual C++ で実行する OpenMP 仕様の日付を表す整数を返すとコンパイル時に定義されます。

_VC_NODEFAULTLIB?

  • /Zl を使用する場合に定義されます; 詳細については、/Zl (既定のライブラリ名の省略) を参照してください。

_WCHAR_T_DEFINED?

  • /Zc: wchar_t を使用する場合、または wchar_t がプロジェクトに含まれているシステム ヘッダー ファイルで定義されている場合は定義されます。

_WIN32

  • Win32およびWin64のアプリケーションに対して定義されます。 これは、常に定義されます。

_WIN64

  • Win64 のアプリケーションに対して定義されます。

_Wp64?

  • /Wp64を指定した場合に定義されます。

Visual C++/プロジェクト

Win32 プロジェクト

Win32 コンソール アプリケーション

MFC アプリケーション