文件名称:语言扩展-中国县域统计年鉴2016(乡镇卷)
文件大小:457KB
文件格式:PDF
更新时间:2021-06-03 18:14:25
MISRA 6.2 语言扩展 规则 2.1(强制): 汇编语言应该被封装并隔离。 [未指定 11] 在需要使用汇编指令的地方,建议以如下方式封装并隔离这些指令:(a) 汇编函数、(b) C 函数、(c) 宏。 出于效率的考虑,有时必须要嵌入一些简单的汇编指令,如开关中断。如果不管出于什 么原因需要这样做,那么 好使用宏来完成。 需要注意的是,内嵌的汇编语言的使用是对标准 C 的扩展,因此也需要提出对规则 1.1 的背离。 #define NOP asm (“ NOP”); 规则 2.2(强制): 源代码应该使用 /*…*/ 类型的注释。 这排除了如 // 这样 C99 类型的注释和 C++类型的注释,因为它在 C90 中是不允许的。许 多编译器支持 // 类型的注释以做为对 C90 的扩展。预处理指令(如#define)中 // 的使用可 以改变,/*…*/和//的混合使用也是不一致的。这不仅是类型问题,因为不同的编译器(在 C99 之前)可能会有不同的行为。 规则 2.3(强制): 字符序列 /* 不应出现在注释中。 C 不支持注释的嵌套,尽管一些编译器支持它以做为语言扩展。一段注释以/*开头,直到 第一个*/为止,在这当中出现的任何/*都违反了本规则。考虑如下代码段: /* some comment, end comment marker accidentally omitted <