Share via


定義済みマクロ

2007/9/7

デバイス コンパイラでは 7 つの定義済み ANSI C マクロが認識されます。その他に、Microsoft C++ 実装によっていくつかのマクロが提供されます。

これらのマクロは引数を取らず、また再定義できません。__LINE____FILE__ を除いて、これらのマクロの値はコンパイル中一定でなければなりません。

次の表に、定義済みマクロに関する追加情報を示します。これらのマクロの一部では、複数の値が定義されます。

マクロ 説明

__DATE__

現在のソース ファイルのコンパイル日。

この日付は Mmm dd yyyy の形式の文字列リテラルです。

__FILE__

現在のソース ファイルの名前。__FILE__ は二重引用符で囲まれた文字列に展開されます。

__FUNCTION__

個々の関数内のみで有効であり、その関数に含まれる非装飾名 (文字列) を戻します。

/EP (#line ディレクティブなしの stdout への前処理) または /P (ファイルへの前処理) コンパイラ オプションを使用する場合、__FUNCTION__ は展開されません。

__LINE__

現在のソース ファイル内の行番号。

この行番号は 10 進整定数です。これは #line ディレクティブを使用して変更することができます。

__STDC__

ANSI C 標準に完全に準拠していることを示します。

/Za (言語拡張機能の無効化) コンパイラ オプションを指定していて、C++ コードはコンパイルしない場合にのみ、整定数 1 として定義されます。それ以外の場合は定義されません。

__TIME__

現在のソース ファイルの最新のコンパイル時刻。

この時刻は hh:mm:ss の形式の文字列リテラルです。

__TIMESTAMP__

現在のソース ファイルの最新の変更日時。Ddd Mmm Date hh:mm:ss yyyy (Ddd は曜日の省略形、Date は 1 ~ 31 の整数) の形式の文字列リテラルとして表されます。

Microsoft 固有のマクロ

次の表に、Microsoft 固有のその他の定義済みマクロを示します。

  • _CHAR_UNSIGNED
    既定の char 型は符号なしです。

    /J (既定の char 型は符号なし) の指定時に定義されます。

  • __cplusplus
    C++ プログラムに対してのみ定義されます。
  • _CPPRTTI
    /GR (ランタイム型情報の有効化) を指定してコンパイルしたコードにのみ定義されます。
  • _CPPUNWIND
    /EHsc (例外処理の有効化) を指定してコンパイルしたコードにのみ定義されます。
  • _MFC_VER
    MFC のバージョンを定義します。

    Microsoft Foundation Class Library 6.0 以降に対して 0x0600 として定義されます。

    常に定義されます。

  • _MSC_EXTENSIONS
    このマクロは、/Ze (言語拡張機能の無効化) コンパイラ オプション (既定) を指定したコンパイル時に定義されます。

    定義された場合、その値は 1 です。

  • _MSC_VER
    コンパイラのバージョンを定義します。

    Microsoft Visual C++ 6.0 以降に対して 1200 以上として定義されます。

    常に定義されます。

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

    常に定義されます。

関連項目

その他のリソース

デスクトップ コンパイラとデバイス コンパイラの違い