たとえば、新しい C11 標準では、 と が追加されていstdalign.h
ますthreads.h
。なぜstdthreads.h
ですかalign.h
?既存のライブラリやシステム ヘッダーとの衝突を避けるためですか?
1 に答える
さまざまな時期に、名前が選ばれる理由はさまざまです。 <stdio.h>
C標準が登場するずっと前から名前として使用されていました。標準は単に既存の慣行を標準化したものです。<stddef.h>
ヘッダーは元の(C89)委員会の発明でした。その名前は、使用されていなかったために選択されました。同様に<stdlib.h>
。名前<inttypes.h>
は既存の慣行でしたが、委員会は<stdint.h>
独立した実装を提供する必要がありました。この名前<stdarg.h>
は、非プロトタイプの同等のものに対応するように選択されました<varargs.h>
。名前<stdbool.h>
は使用されていませんでした。同様に、私は推測します<stdatomic.h>
、、、。プレフィックスは主に標準用に予約されています(ただし、薄い氷の上を踏む可能性があることを知っているので、ヘッダーを使用します)。理由と<stdalign.h>
<stdnoreturn.h>
std
"stderr.h"
<uchar.h>
<threads.h>
接頭辞が付いていないのでstd
、実質的に変更されていないいくつかの先行技術を仮定します。AFAIK、C2011の理論的根拠はまだ完成していません。利用可能になると、より多くの情報が明らかになる可能性があります。