前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >让你的代码向MISRA靠近

让你的代码向MISRA靠近

作者头像
用户1605515
发布2018-07-25 10:04:28
6490
发布2018-07-25 10:04:28
举报
文章被收录于专栏:嵌入式程序猿嵌入式程序猿

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

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

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

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

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

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式程序猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档