「C言語/標準ライブラリ」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
s/0L/0/1、K&R2では A12.5 条件付きコンパイルで『マクロ展開後に残る識別子は 0L に置き換えられる。』となっていた。
タグ: 2017年版ソースエディター
Ef3 (トーク | 投稿記録)
Fix <ref name="jtc1-sc22-wg14-n1570-F.5">
タグ: 2017年版ソースエディター
60 行
| page=162, §6.10.1 ''Conditional inclusion''
| quote = all remaining identifiers (including those lexically identical to keywords) are replaced with the pp-number 0, and then each preprocessing token is converted into a token.
| publisher = ISO/IEC}}</ref><ref>未定義マクロが 0 とみなされる挙動C言語の使用はは、ミススペル(典型的には _ の数の間違え)で本体は 1 なマクロが 0 とみなされる発見困難なバグに繋がります。clang や gcc であればコマンドラインから -Wundef を指定することで未定義マクロの参照を警告させることが出来ます(-Wallでは、-Wundefが有効にならないことに注意してください)。</ref>ので、'''__STDC_WANT_LIB_EXT1__'''を定義していない従来のソースコードは「境界検査インターフェースの使用を求めない」と解されます。
 
; __STDC_WANT_LIB_EXT1__の使用例
80 行
 
{{コラム|__STDC_WANT_IEC_60559_EXT__|
C23では、ユーザー定義マクロ '''__STDC_WANT_IEC_60559_EXT__''' と処理系定義マクロ '''__STDC_IEC_60559_DFP__''' などによってISO/IEC 60559:2020(IEEE 754として知られる浮動小数点算術に関する標準)の機能の要求を制御する予定です<ref name="jtc1-sc22-wg14-n1570-kF.3.1.15">{{cite book
| url = open-std.org/jtc1/sc22/wg14/www/docs/n2596.pdf
| title = ISO/IEC 9899:202x (E) working draft — December 11, 2020 N2596
98 行
* [[C言語/標準ライブラリ/浮動小数点型の特性|浮動小数点型の特性<float.h>]]
* [[C言語/標準ライブラリ/整数型の書式変換|整数型の特性<inttypes.h>]]
* [[C言語/標準ライブラリ/代替つづり|代替つづり<iso646.h>]]<sup>'''C95'''</sup>
* [[C言語/標準ライブラリ/整数型の大きさ|整数型の大きさ<limits.h>]]
* [[C言語/標準ライブラリ/文化圏固有操作|文化圏固有操作<locale.h>]]
140 行
| page=398, §7.28 ''Unicode utilities <uchar.h>''
| publisher = ISO/IEC}}</ref>
* [[C言語/標準ライブラリ/多バイト文字及びワイド文字拡張ユーティリティ|多バイト文字及びワイド文字拡張ユーティリティ<wchar.h>]]<sup>'''C95'''</sup>{{進捗|00%|2013-06-16}}
* [[C言語/標準ライブラリ/ワイド文字種分類及びワイド文字大文字小文字ユーティリティ|ワイド文字種分類及びワイド文字大文字小文字ユーティリティ<wctype.h>]]<sup>'''C95'''</sup>{{進捗|00%|2013-06-16}}
 
== 脚註 ==