遵从性
来自cppreference.com
遵从性 (conformance) 有三重定义:
- 严格遵从程序 - 仅使用良定义的语言构造,即拥有单一行为的构造。它不包含未指定、未定义或实现定义的行为,且不超过任何最小实现极限。
- 遵从程序 - 可为遵从实现所接受。
- 遵从实现 - 遵从的有宿主实现应当接受任何严格遵从程序。遵从的自立实现应当接受任何将库子句(子句 7 )中指定的库特性限制到标准头文件 <float.h> 、 <iso646.h> 、 <limits.h> 、 <stdalign.h> 、 <stdarg.h> 、 <stdbool.h> 、 <stddef.h> 、 <stdint.h> 与 <stdnoreturn.h> 的内容的严格遵从程序。遵从实现可拥有扩展(包括额外的库函数),只要它们不改变任何严格遵从程序的行为。
解释
标准不在翻译单元上定义任何最小实现极限。有宿主环境拥有操作系统;自立环境无操作系统。运行于有宿主环境中的程序可使用任何库子句(子句 7 )中描述的特性;运行于自立环境中的程序可使用子句 4 所要求的库特性子集。
引用
- C11 standard (ISO/IEC 9899:2011):
- 4 Conformance (p: 8-9)
- C99 standard (ISO/IEC 9899:1999):
- 4 Conformance (p: 7-8)
- C89/C90 standard (ISO/IEC 9899:1990):
- 1.7 Compliance