Oracle® Solaris Studio 12.4: C ユーザーガイド

印刷ビューの終了

更新: 2014 年 12 月
 
 

6.7.1 標準ヘッダー

標準ヘッダーは、assert.h、 ctype.h、 errno.h、 float.h、 limits.h、 locale.h、 math.h、 setjmp.h、 signal.h、 stdarg.h、 stddef.h、 stdio.h、 stdlib.h、 string.h、 time.h です。

ほとんどの実装は、さらに多くのヘッダーを提供しています。しかし、1990 ISO/IEC C に厳密に準拠するプログラムが使用できるヘッダーは、記載されたものだけです。

これらヘッダーの一部の内容については、ほかの規格ではわずかに異なります。たとえば、POSIX (IEEE 1003.1) は、fdopenstdio.h で宣言するように指定しています。これら 2 つの規格が共存するために、POSIX では、このような追加の名前が存在することを保証するためには任意のヘッダーをインクルードする前にマクロ _POSIX_SOURCE#defined で定義しなければならないと規定しています。また、『X/Open Portability Guide』でも、その拡張のためにこのマクロ方式を使用しています。X/Open のマクロは _XOPEN_SOURCE です。

ISO C は、標準ヘッダーがそれ自身だけで完結し、べき等 (何度指定しても同じ) であることを要求しています。どの標準ヘッダーも、その前後でほかのヘッダーを #included でインクルードする必要はありません。標準ヘッダーは何度 #included でインクルードしても、問題は発生しません。ISO C 規格では、安全なコンテキストにおいてのみ、標準ヘッダーを #included でインクルードすることを要求します。したがって、ヘッダーで使用される名前は変更されないことが保証されます。