1 软 件 编 程 规 范 目 录 一 环境 二 语言扩展 三 文档 四 字符集 五 标识符 六 类型 七 常量 八 声明与定义 九 初始化 十 数值类型转换 十一 指针类型转换 十二 表达式 十三 控制语句表达式 十四 控制流 十五 switch语句 十六 函数 十七 指针和数组 十八 结构与联合 十九 预处理指令 二十 标准库 二十一 运行时错误 2 一 环境 规则1
1(强制): 所有代码都必须遵照ISO 9899:1990 “Programming languages - C”,由ISO/IEC 9899/COR1:1995,ISO/IEC 9899/AMD1:1995,和ISO/IEC9899/COR2:1996 修订
2(强制): 不能有对未定义行为或未指定行为的依赖性
这项规则要求任何对未定义行为或未指定行为的依赖,除非在其他规则中做了特殊说明,都应该避免
如果其他某项规则中声明了某个特殊行为,那么就只有这项特定规则在其需要时给出背离性
3(强制): 多个编译器和/或语言只能在为语言/编译器/汇编器所适合的目标代码定义了通用接口标准时使用
如果一个模块是以非C 语言实现的或是以不同的C 编译器编译的,那么必须要保证该模块能够正确地同其他模块集成
C 语言行为的某些特征依赖于编译器,于是这些行为必须能够为使用的编译器所理解
例如:栈的使用、参数的传递和数据值的存储方式(长度、排列、别名、覆盖,等等)
4(强制): 编译器/链接器要确保31 个有效字符和大小写敏感能被外部标识符支持
ISO 标准要求外部标识符的头6 个字符是截然不同的
然而由于大多数编译器/链接器允许至少31 个有效字符(如同内 部标识符),因 此 对这样 严 格 而并 不具 有帮 助 性的限 制的适应性被认 为是不必要的
必须检 查 编译器/链接器具 有这