C プリプロセッサでは、あらかじめ定義されているマクロ名があります。これらは事前に定義されているのですぐに参照可能です。従来の C プリプロセッサでも 5 つのマクロ名が定義されていました。その後、9899/AMD1:1995 で 1 つのマクロが追加されました。そして今回新しく 3 個のマクロが定義されました。それらは、次の通りです。
今回の追加では拡張機能に関する項目が多いことが特徴です。
| ISO/IEC 規格 | マクロ名 | 値の例 | 説明 |
|---|---|---|---|
| 9899:1990 | __LINE__ | 12 | 現在の処理中のソースファイル行番号 |
| __FILE__ | "hello.c" | 現在処理中のソースファイル名 | |
| __DATE__ | "Apr 01 1999" | 処理開始時の日付("Mmm dd yyyy")。asctime と同じ形式。 | |
| __TIME__ | "12:34:50" | 処理開始時の時刻("hh:mm:ss")。asctime と同じ形式。 | |
| __STDC__ | 1 | 標準に従っている時定義される | |
| 9899/AMD1:1995 | __STDC_VERSION__ | 199409L | C 言語の仕様のバージョンをあらわす |
| 9899:1999 | __STDC_VERSION__ | 199901L | C 言語の仕様のバージョンをあらわす |
| __STDC_ISO_10646__ | 199712L | yyyymmLの形式で、wchar_t の表現する文字コードが ISO/IEC 10646(UNICODE)の yyyymm 年の仕様を満たすとき定義 | |
| __STDC_IEC_559__ | 1 | annex F(IEC 60559 浮動小数点)適合時に定義 | |
| __STDC_IEC_559_COMPLEX__ | 1 | annex G(IEC 60559 互換複素数)に忠実に従っているとき定義 |
今回の追加では拡張機能に関する項目が多いことが特徴です。
by seclan