附录 A:头文件清单(C90/C99 要求 vs 本库)
C90 §7.1.2 共 15 头(C99 为其 24 头超集);C99 §7.1.2p2 要求 hosted 实现提供 24 头。经逐符号核对,24 头全部在库,822 条符号记录(753 个唯一名 / 305 个函数)声明全部可见——逐符号明细见附录 B。
已在正文成节的 9 个功能分组对应头:<stdio.h>、<stdlib.h>、<string.h>/<strings.h>、<wchar.h>/<wctype.h>、<ctype.h>、<math.h>、<complex.h>、<fenv.h>、<time.h>。
C99 要求、本手册未单独成节的头(均已在库提供):
| 头 | C90 | C99 | 库内提供方 | 备注 |
|---|---|---|---|---|
<assert.h> | 要求 | 要求 | libc | 符号 2 |
<errno.h> | 要求 | 要求 | libc | EILSEQ 为 C99 新增 |
<float.h> | 要求 | 要求 | 编译器自带 | FLT_EVAL_METHOD/DECIMAL_DIG 为 C99 新增 |
<limits.h> | 要求 | 要求 | 编译器自带 | LLONG_* 为 C99 新增 |
<locale.h> | 要求 | 要求 | libc | — |
<setjmp.h> | 要求 | 要求 | libc | setjmp 函数形态合规 |
<signal.h> | 要求 | 要求 | libc | — |
<stdarg.h> | 要求 | 要求 | 编译器自带 | va_copy 为 C99 新增 |
<stddef.h> | 要求 | 要求 | 编译器自带 | — |
<iso646.h> | 不要求 | 要求 | 编译器自带 | 替代运算符拼写宏 |
<stdbool.h> | 不要求 | 要求 | 编译器自带 | bool/true/false 宏 |
<stdint.h> | 不要求 | 要求 | libc | WINT_MIN/WINT_MAX 属此头 |
<inttypes.h> | 不要求 | 要求 | libc | PRI/SCN 宏族 —— 经逐宏复核,C99 §7.8.1 要求的 84 个 PRI* + 70 个 SCN*(共 154 个)全部提供、无缺失无多余(§7.8.1) |
<tgmath.h> | 不要求 | 要求 | 编译器自带 | 含 60 个函数型泛型宏(55 实函数 + 5 复数宏),覆盖 §7.22p1;分类/比较宏随 <math.h> 提供 |
另:
<complex.h>/<fenv.h>为 C99 新增,均已提供(见正文)。