Misra 2.1 Assmbly Language shall be encapsulated and isolated 汇编语言应当单独的被隔离和封装
由于汇编语言依赖于CPU和编译器,如果将用汇编语言编写的代码被独立封装,可以大大的提高代码的可移植性。
Misra 2.2 Source code shall only use /* ...... */ style comments. 源代码只能采用/*...... */风格的注视。
C90不允许使用 // ...... 风格的注释,而C99支持。 一些编译器不支持 //......风格的注释。
所以不使用//......风格的注释可以大大提高代码的可移植性
Misra 2.3 不允许在注释中使用字符串/*
C是不支持注释嵌套的。但一些编译器对注释嵌套进行了扩展支持。考虑到代码的移植性,不允许使用注释嵌套。
Misra 2.4 代码不允许被注释掉。
不用的代码不要用注释的方式将其删除,而应该用条件编译(#if, #ifdef)的方法将其禁用(注释掉)。
由于C不支持注释嵌套,如果用注释的方式来禁用代码,由于代码中可能有注释,所以可能会发生注释嵌套。
错误例子
void func_NG(void){
Int cnt = 5; /* 计数器的定义及初始化 */
/*
while (cnt > 0){ /* 循环 */
……
}
*/
}
正确例子
void func_NG(void){
Int cnt = 5; /* 计数器的定义及初始化 */
#if 0
while (cnt > 0){ /* 循环 */
……
}
#endif
}