让你的代码向MISRA靠近

MISRA全称是Motor Industry Software Reliability Association, 最早发布于1998年,现在最新的版本是MISRA 2012, 是评估软件质量常常参考的标准,各大软件评估工具,有的软件开发工具IDE也集成有MISRA,为了使软件更安全,MISRA组织花了大量时间和精力,MISRA标准的出版和推广是软件更加的安全和标准,尤其在汽车电子方面,MISRA规则似乎应用的很广。我们先来看看官方组织对MISRA的解释

640?wx_fmt=jpeg

MISRA规则有很多条,当然不是说你在设计的时候全部的规则都要遵守,MISRA允许可以背离有的原则,根据你的实际情况。MISRA所有的规则分为建议规则和强制规则,通常强制规则建议都遵守,那么有的人说了,这么多规则,我怎么记得住,没关系,不用死记硬背,在使用使用中慢慢熟悉,也可以在设计时候就打开MISRA检查,例如如果我们用IAR在设计代码的时候,可以打开MISRA规则校验,在工程项目上点右键选options->C/C++Compiler进行配置打开MISRA。

640?wx_fmt=jpeg

如果对MISRA完全没有一点概念,建议先浏览下MISRA的规则,选一两条来使能检查你的代码,如果一下全开的话,你的代码可能会检查出很多错误,你都傻了,例如可以先从简单的注释规则开始,例如MISRA的规则2.2和2.3规定

640?wx_fmt=jpeg

我们只使能这两条规则来跑一下原先没开MISRA能编译通过的工程

640?wx_fmt=jpeg

640?wx_fmt=jpeg

可以看到出现了很多违反规则被MISRA检查出来的错误,都是违反2.2注释规则

640?wx_fmt=jpeg

可以看到凡是用//进行注释的地方都报错,因为MISRA只允许用/*  开始注释,*/结束注释,且不允许注释嵌套。将注释改为/*   */在编译,就会消除这个错误,

好了快快行动起来,从这个简单的点开始,使你的代码越来越靠近MISRA。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值