Conformance
From cppreference.net
一致性 具有三重定义:
- 严格符合程序 - 仅使用具有明确单一行为的良定义语言结构。排除未指定、未定义或实现定义的行为,且不超过任何最小实现限制。
- 符合程序 - 可被符合实现接受的程序。
-
符合实现
-
- 符合的托管实现应接受任何严格符合程序。
- 符合的独立实现应接受任何严格符合程序,其中对库条款(第7条)规定功能的使用仅限于独立标准库头文件的内容(见下文)。
- 符合实现可包含扩展(包括附加库函数),前提是不改变任何严格符合程序的行为。
目录 |
说明
标准未对翻译单元定义任何最小实现限制。托管环境具有操作系统;独立环境则没有。在托管环境中运行的程序可以使用库条款(条款7)描述的所有特性;在独立环境中运行的程序可以使用条款4所要求的库特性子集。
独立实现的标准库头文件
所有完全独立头文件中的标准库特性都必须由独立实现提供。
|
部分标准库头文件是有条件独立实现的。
部分标准库头文件是部分独立实现的。
|
(since C23) |
完全独立的标准库头文件 |
|
| <float.h> | 浮点类型限制 |
| <iso646.h> (自 C95 起) | 替代运算符拼写 |
| <limits.h> | 整数类型范围 |
| <stdalign.h> (自 C11 起) |
alignas
和
alignof
便捷宏
|
| <stdarg.h> | 可变参数 |
| <stdbool.h> (自 C99 起) | 布尔类型宏 |
| <stddef.h> | 通用宏定义 |
| <stdint.h> (自 C99 起) | 定宽整数类型 |
| <stdnoreturn.h> (自 C11 起) | noreturn 便捷宏 |
| <stdbit.h> (自 C23 起) | 用于处理类型字节和位表示的宏 |
条件性完全独立的标准库头文件 |
|
| <fenv.h> (自 C23 起) | 浮点环境 |
| <math.h> (自 C23 起) | 通用数学函数 |
部分独立的标准库头文件 |
|
| <stdlib.h> (自 C23 起) | 通用工具: 内存管理 、 程序工具 、 字符串转换 、 随机数 、 算法 |
| <string.h> (自 C23 起) | 字符串处理 |
参考文献
- C23 标准 (ISO/IEC 9899:2024):
-
- 4 一致性 (p: 9-10)
- C17 标准 (ISO/IEC 9899:2018):
-
- 4 一致性 (p: 4)
- C11 标准 (ISO/IEC 9899:2011):
-
- 4 一致性 (p: 8-9)
- C99标准(ISO/IEC 9899:1999):
-
- 4 一致性(页: 7-8)
- C89/C90 标准 (ISO/IEC 9899:1990):
-
- 1.7 合规性
参见
|
C++ 文档
关于
独立式和托管式实现
|