定義済みマクロ
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 用アプリケーションに対して定義されます。常に定義されます。