MISRA C指导指南解读系列10(MISRA C规则114-127)

 

2.1.            标准库

114.保留字和标准库函数不能重新定义或取消定义(R)

       C语言中存在一些保留标识符和函数名,在应用软件中,不能随意重新定义或者取消这些定义。例如在C语言中,存在一些重要的宏和变量:__LINE____FILE____FILE____DATA____TIME____STDC__errno等。

#define __LINE__ 12 /* 与规则114冲突 */

 

#define break 1     /* 与规则114冲突 */

115.标准包名字不能被重新使用(R)

      

116.产品代码使用的所有的包应该遵循"MISRA Guidelines for the use of the C language in vehicle based software"的规定,并且遵循于相应的有效性确认(R

       117.传给包函数的值应该进行有效性检查(R

       118.不能使用动态堆内存分配(R

              这条规则要避免callocmallocreallocfree函数的使用。

       119.错误指示符errno不能被使用(R

              例如:

              #include <errno.h>

              void myfunc(void) {

                     errno = 0; /*与规则119冲突*/

}

       120<stddef.h>包中的宏offsetof不能被使用(R

       121<local.h>setlocal函数不能被使用(R             

       122setjmp宏和longjmp函数不能使用(R

       123<signal.h>中的信号处理操作不能使用(R

       124<stdio.h>输入输出包在产品代码中不能使用(R

       125<stdlib.h>包中的atofatoi,和atol不能使用(R

       126<stdlib.h>包中的abortexitgetenv,和system不能使用(R

       127<time.h>包中的时间处理函数

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值