5.2.4 环境限制
1、翻译与执行环境都约束了语言翻译器和库的实现。下面概述了对一个顺应标准实现的语言相关的环境限制;库相关的限制在条款7中讨论。
5.2.4.1 翻译限制
1、实现应该能够翻译并执行至少一个程序,该程序包含以下每个限制的至少一个实例:[注:实现应该尽量避免强加使用固定的翻译限制。]
—— 127个语句块的嵌套层级
—— 63个带条件的包含嵌套层级
—— 12个指针、数组与函数声明符(以任意结合)在一个声明中用于修饰一个算术、结构体、联合体或void类型。
—— 63个圆括号包围的声明符的嵌套层级,在一个完整的声明符内
—— 63个圆括号包围的表达式的嵌套层级,在一个完整的表达式内
—— 63个有效初始字符,在一个内部标识符或一个宏名中(每个通用字符名或扩展源字符被认作为一单个字符)
—— 31个有效初始字符,在一个外部标识符中(每个通用字符名指定了一个0000FFFF或更小的short类型标识符,被认作为6个字符,每个通用字符名指定了00010000或更大的short类型标识符被认作为10个字符,并且每个扩展源字符被认作为与相应的通用字符名相同的字符个数,如果存在的话)[注:见6.11.3]
—— 4095个外部标识符,一个翻译单元中
时间: 2024-10-09 00:39:02