Chinaunix首页 | 论坛 | 博客
  • 博客访问: 946849
  • 博文数量: 175
  • 博客积分: 2788
  • 博客等级: 少校
  • 技术积分: 2060
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-25 12:25
个人简介

知之者不如好之,好之者不如乐之

文章分类

全部博文(175)

文章存档

2016年(1)

2015年(20)

2014年(8)

2013年(68)

2012年(16)

2011年(35)

2010年(1)

2008年(26)

分类: 嵌入式

2013-11-23 20:10:57

原文:


MISRA C是由(MISRA)提出的开发标准。其目的是在增进的安全性及。针对语言也有对应的标准

MISRA C一开始主要是针对汽车产业 ,不过其他产业也逐渐开始使用MISRA C:包括航太、电信、国防、医疗设备、铁路等领域中都已有厂商使用MISRA C。

MISRA C的第一版《Guidelines for the use of the C language in vehicle based software》是在1998年发行,一般称为MISRA-C:1998.。MISRA-C:1998有127项规则,规则从1号编号到127号,其中有93项是强制要求,其余的34项是推荐使用的规则。

在 2004年时发行了第二版的MISRA C的第一版《Guidelines for the use of the C language in critical systems》(或称作MISRA-C:2004),其中有许多重要建议事项的变更,其规则也重新编号。MISRA-C:2004有141项规则,其中 121项是强制要求,其余的20项是推荐使用的规则。规则分为21类,从“开发环境”到“运行期错误”






目录[]



[]规则举例

MISRA C的一些规则是针对运算符的限制,例如MISRA-C:2004的规则12.10为“不要使用逗号运算符”,也可以用其他方式达到一样的效果。

动 态分配内存功能是C语言的一大特色,可以在运行期依实际需求用malloc分配内存,在不使用此内存时再用free归还,但许多问题也和未正确处理动态分 配内存功能有关,例如MISRA-C:2004的规则20.4为“不能使用动态堆的内存分配”,限制malloc、free等程序的使用。

[]工具

有许多工具声称可以检查代码和MISRA规则相容性,不过MISRA没有相关认证的程序。相关工具可以帮助使用者评估和比较检查的结果,也会提供一些可符合MISRA-C规定的指南。

大部份的规定可以用支援的工具检查,有些规定需要用支援的工具检查。

以下是一些可以配合MISRA C规则进行检查的工具:

以下是一些可以配合MISRA C规则进行检查的编译器:

[]相关条目

[]参考资料
[]外部链接


哪里能下载到原版的misra c 2004版




阅读(695) | 评论(0) | 转发(0) |
0

上一篇:MISRA C 2004规范

下一篇:STM32入门篇

给主人留下些什么吧!~~