关于MISRA-C,你知道多少?

lixiaohai8211   2010-2-11 09:15 楼主
学习MISRA C之一:“安全第一”的C语言编程规范
C语言是开发嵌入式应用的主要工具,然而C语言并非是专门为嵌入式系统设计,相当多的嵌入式系统较一般计算机系统对软件安全性有更苛刻的要求。1998 年,MISRA指出,一些在C看来可以接受,却存在安全隐患的地方有127处之多。2004年,MISRA对C的限制增加到141条。
  嵌入式系统应用工程师借用计算机专家创建的C语言,使嵌入式系统应用得以飞速发展,而MISRAC是嵌入式系统应用工程师对C语言嵌入式应用做 出的贡献。如今MISRA C已经被越来越多的企业接受,成为用于嵌入式系统的C语言标准,特别是对安全……
之前有坛友发过,下面是连接https://bbs.eeworld.com.cn/viewthread.php?tid=91904

[ 本帖最后由 lixiaohai8211 于 2010-2-11 09:23 编辑 ]
不断地学习,才会有创新! 淘宝小店:手机、qq点卡、游戏点卡自动充值 http://shop63727265.taobao.com/

回复评论 (17)

学习MISRA C之二:跨越数据类型的重重陷阱
数据类型是编程语言中最基本的构成元素,但却是最易被忽略的一环,程序员愿意把几乎100%的精力都花在算法研究、程序流控制等大环节上,却很少在数据类型问题上反复斟酌。

   细节决定成败,一个螺丝钉的失误可能导致一个飞行器的毁灭,一个数据类型的错误同样可以让庞大的软件系统崩溃。

    MISRA—c中关于数据类型的规则主要分为两个方面。一是数据类型相关的编程风格;二是不同数据类型之间的转换,后者是重点。这里介绍MISRA_C关于数据类型的部分规则,……
跨越数据类型的重重陷阱.PDF (117.1 KB)
(下载次数: 216, 2010-2-11 09:16 上传)


[ 本帖最后由 lixiaohai8211 于 2010-2-11 09:23 编辑 ]
不断地学习,才会有创新! 淘宝小店:手机、qq点卡、游戏点卡自动充值 http://shop63727265.taobao.com/
点赞  2010-2-11 09:16
学习MISRA C之三:指针结构体联合体的安全规范
指针赋予了C编程最大的灵活性;结构体使得C程序整齐而紧凑;联合体在某些要求注重效率的场合有精彩的表现.这三个要素是C语言的精华.
然而精华并不意味着完美。C语言在赋予程序员足够的灵活性的同时,也给了程序员许多犯错的机会。所以,有必要关注指针,结构体和联合体的实现细节,从而保障程序的安全性。

在此,第一部分介绍MISRA-C:2004中与指针相关的部分规则,第二部分讲解结构体和联合体的操作
规范。下文凡是未加特别说明的都是 强制(required)规则,个别推荐(advisory)规则则加了“推荐”的提示.
指针、结构体、联合体的安全规范.PDF (224.36 KB)
(下载次数: 197, 2010-2-11 09:17 上传)


[ 本帖最后由 lixiaohai8211 于 2010-2-11 09:24 编辑 ]
不断地学习,才会有创新! 淘宝小店:手机、qq点卡、游戏点卡自动充值 http://shop63727265.taobao.com/
点赞  2010-2-11 09:17
学习MISRA C之四:防范表达式的失控
在C 语言中,表达式是最重要的组成部分之一,几乎所有的代码都由表达式构成。表达式的使用如此广泛,读者也许会产生这样的疑问,像+ 、- 、3 、/ 、& & 这样简单的运算也会出现问题吗? 程序员在编写表达式时,往往带有一些不良的习惯。即使是编写很简单的表达式,这些不良习惯也可能造成隐患,这个小小的隐患甚至可能引起整个系统的崩溃。实际上,在程序调试过程中,表达式中存在的大部分隐患皆来源于程序员的主观臆测,即认为表达式应该是按自己认为的方式执行,但结果可能完全相反。这是因为程序设计语言或编译器的某些内在机……
防范表达式的失控.PDF (270.55 KB)
(下载次数: 202, 2010-2-11 09:19 上传)


[ 本帖最后由 lixiaohai8211 于 2010-2-11 09:23 编辑 ]
不断地学习,才会有创新! 淘宝小店:手机、qq点卡、游戏点卡自动充值 http://shop63727265.taobao.com/
点赞  2010-2-11 09:19
学习MISRAC之五:准确的程序流控制
程序的执行流程是由条件判断、跳转和循环构成的,没有任何一个程序会缺少程序流的控制。那么像if 、for 、while 、switch 等这些程序员无比熟悉的语句也存在隐患吗? 事实上,C 语言是很灵活的,这种灵活性给程序员编写代码带来了很多便利,但同时也带来了很多容易导致混淆的表达。这些表达完全符合C 语言标准,但有时程序员也难以发现自己犯了错误,最终的结果是使程序进入错误的执行流程。即使程序员没有犯错误,但有些容易混淆的表达也会给其他人读懂程序带来困扰,使程序的维护变得困难。除此以外,有少量控制流程的方式还会产生不确定的运……

准确的程序流控制.PDF (229.5 KB)
(下载次数: 205, 2010-2-11 09:21 上传)


[ 本帖最后由 lixiaohai8211 于 2010-2-11 09:22 编辑 ]
不断地学习,才会有创新! 淘宝小店:手机、qq点卡、游戏点卡自动充值 http://shop63727265.taobao.com/
点赞  2010-2-11 09:21
学习MISRAC之六:构建安全的编译环境
预处理是编译环境处理C 程序的第一个环节,但往往最先被程序员忽略。这份看似只是由编译环境做的简单工作,其实也是机关重重。通过介绍MISRA C 与预处理相关的规则,希望读者能够更准确地认识编译器的预处理过程,避免出错。无论是自定义函数还是由编译环境提供的标准库函数,如果使用不当,都会存在安全隐患。

能不能保证函数被正确的定义、声明和调用,关乎到整个程序的成败。这里介绍MISAR C 中涉及函数部分有代表性的规则,并试图分析制定这些规则的出发点,以帮助读者构建更为安全的编译环境。
构建安全的编译环境.PDF (209.7 KB)
(下载次数: 213, 2010-2-11 09:22 上传)
不断地学习,才会有创新! 淘宝小店:手机、qq点卡、游戏点卡自动充值 http://shop63727265.taobao.com/
点赞  2010-2-11 09:22
MISRA-C 2004规则常用要点
MISRA-C 2004规则常用要点.doc (21.5 KB)
(下载次数: 170, 2010-2-11 09:26 上传)
不断地学习,才会有创新! 淘宝小店:手机、qq点卡、游戏点卡自动充值 http://shop63727265.taobao.com/
点赞 (1) 2010-2-11 09:26
谢大侠。。
点赞  2011-8-1 09:35
我就不客气了
点赞  2011-8-1 22:11
谢谢楼主分享
点赞  2011-11-1 14:55
多谢楼主分离
点赞  2011-11-5 08:39
好东西,顶一下。
点赞  2011-12-21 23:51
哇!!一直停留在知道的概念,没有去看。
这个贴强贴必顶啊
强者为尊,弱者,死无葬身之地
点赞  2011-12-22 09:17
谢谢

点赞  2012-3-2 17:19
非常感谢!!!!!
点赞  2012-4-10 13:13
谢谢分享
点赞  2012-4-14 20:51
多谢楼主哈~:carnation:
点赞  2012-5-31 23:07
干货,谢谢
点赞  2018-3-6 13:03
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复