プログラミング言語 C の新機能 Part VI: CPP#3:はじめから決まってんの!
(1999/04/12 [月])
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