MISRA C:2012编程规范概述

时间:2024-10-12 13:44:44

很好奇居然没有中文版的MISRA C:2012对吧?

什么是MISRA C:2012

1、MISRA表示这是一个汽车级的编程规范。2012是年份,也是委员会开始制定或者完成这个规范的时间。总之都是一些汽车行业巨头组建的,貌似推广一般,到目前还没有中文版。

MISRA C:2012编程规范概述

2、在MISRA C:2012之前有MISRA C:2008,MISRA C:2004。2004的文档还是比较全的,部分免费软件也支持这个规范,大家可以先从这个规范开始。

MISRA C:2012与QAC

1、QAC是静态测试工具,也就是说是专门来检查编程规范的。只要安装对应的编程规范包就可以了(MISRA C:2004/2012)。

MISRA C:2012编程规范概述

2、这个编程规范包是英文的,国内供应商会开发一个汉化包,所以用起来好多了。

MISRA C:2012编程规范概述

3、我们来看一下规则的等级。MISRA C:2012本身把所有的规范分为两大类,一类称为[指令(Directives)],另一类称为[规则(Rules)]

MISRA C:2012编程规范概述
MISRA C:2012编程规范概述

4、然而这些规则和指令又分为5个类:MISRA建议规则,MISRA建议指令,MISRA必要规则,MISRA必要指令,MISRA强制规则

5、现在我们再来看QAC的规范等级:9级是最严重等级,通常是编译错误或者QAC配置错误8级是MISRA强制规则,必须遵循的规则7级MISRA必要规则,需要遵循的规则,如果背离,需要注骈跪爸锂明背离的原因6级MISRA必要指令,需要遵循的规则,如果背离,需要注明背离的原因5级是MISRA建议规则,可选规则4级是MISRA建议指令,可选规则

MISRA C:2012编程规范概述

6、所以结论就是,为了遵循MISRA C:2012规范,只需要优先遵循6789级规则;后续再考虑45级规则即可(非必要)。具体规则部分待续。

© 手抄报圈