「C言語/前処理指令」の版間の差分
削除された内容 追加された内容
→必須マクロ: +[https://paiza.io/projects/sbv6TqBKcvPnwKPlE7HpmA?language=c コード例]ほか タグ: 2017年版ソースエディター |
タグ: 2017年版ソースエディター |
||
390 行
__STDC_NO_COMPLEX__ を定義する実装は、 __STDC_IEC_559_COMPLEX__ を定義してはならない。
==事前定義済みマクロ定数一覧==
{|class="sortable wikitable"
|+ 事前定義済みマクロ定数一覧
!種別!!マクロ名!!意味
|-
! rowspan=7 style="writing-mode: vertical-rl;" scope="row" | 必須マクロ
|__DATE__||前処理翻訳単位の翻訳の日付("Mmm dd yyyy"の形式をもつ単純文字列リテラル)
|-
409 ⟶ 410行目:
|__TIME__||前処理翻訳単位の翻訳の時刻。("hh:mm:ss"の形式の単純文字列リテラル)
|-
! rowspan=4 style="writing-mode: vertical-rl;" scope="row" | 環境マクロ
|__STDC_ISO_10646__||型wchar_tの値が、ISO/IEC 10646(UCS; Universal Coded Character Set)で定義された文字の符号化表現をもつことを示すためのyyyymmLの形式の整数定数。▼
|-
| __STDC_MB_MIGHT_NEQ_WC__ ||
|-
| __STDC_UTF_16__ ||
▲|__STDC_ISO_10646__||型wchar_tの値が、ISO/IEC 10646(UCS; Universal Coded Character Set)で定義された文字の符号化表現をもつことを示すためのyyyymmLの形式の整数定数。
|-
| __STDC_UTF_32__ ||
|-
! rowspan=8 style="writing-mode: vertical-rl;" scope="row" | 条件付き機能マクロ
| __STDC_ANALYZABLE__ ||
|-
|__STDC_IEC_559__||IEC 60559浮動小数点仕様に準拠している場合に定義される。ISO/IEC 9899:1999(C99)以降で定義される。
|-
|__STDC_IEC_559_COMPLEX__||IEC 60559互換の複素数仕様に準拠している場合に定義される。ISO/IEC 9899:1999(C99)以降で定義される<ref>__STDC_NO_COMPLEX__ を定義する実装は、 __STDC_IEC_559_COMPLEX__ を定義してはならない。</ref>。
|-
| __STDC_LIB_EXT1__ ||
|-
|__STDC_NO_ATOMICS__ ||
|-
|__STDC_NO_COMPLEX__ ||
|-
|__STDC_NO_THREADS__ ||
|-
|__STDC_NO_VLA__ ||
|-
|}
※ __DATE__と__TIME__はそれを使わなければ絶対に解決できない課題を解決するためにのみ使うべきであり、それ以外の場合に安易に使うべきではない。特に、バージョン値の代用としての使用は不適切である。
|