マクロ | 解説 | 型 | 具体的な値・書式 | 備考 | |
__STDC__ | Cとしてコンパイルされるか | 整数 | 1 | Cとしてコンパイルされる (/Za オプション指定時) |
|
(定義なし) | 上記以外 | ||||
__STDC_VERSION__ | コンパイラがサポートする Cのバージョン |
整数 | 201112L | C11準拠 | |
199901L | C99準拠 | ||||
199409L | C95準拠 | ||||
(定義なし) | C95より前、 または標準Cに準拠しない |
||||
__cplusplus | コンパイラがサポートする C++のバージョン |
整数 | 202002L | C++20準拠 | |
201703L | C++17準拠 | ||||
201402L | C++14準拠 | ||||
201103L | C++11準拠 | ||||
199711L | C++98準拠 | ||||
1 | 標準C++より前 | ||||
__DATE__ | コンパイル時の日付 | 文字列 | "Mmm dd yyyy" 形式 (Mmmは月名の省略形) |
||
__TIME__ | コンパイル時の時刻 | 文字列 | "hh: mm: ss" 形式 | ||
__FILE__ | 現在のソースファイル名 | 文字列 | #line ディレクティブで変更可能 | ||
__LINE__ | 現在の行番号 | 整数 | #line ディレクティブで変更可能 | ||
__func__ | 現在実行中の関数名 | 文字列 | C99以降、C++11以降でのみ使用可能 関数外で使用するとエラーとなる |
||
__STDCPP_THREADS__ | プログラムが 複数のスレッドを持つことができるか |
整数 | 1 | C++としてコンパイルされ、 かつ複数のスレッドを持つことができる |
|
(定義なし) | 上記以外 | ||||
__STDC_HOSTED__ __STDC_NO_ATOMICS__ __STDC_NO_COMPLEX__ __STDC_NO_THREADS__ __STDC_NO_VLA__ __STDCPP_DEFAULT_NEW_ALIGNMENT__ |
出典元参照 |