- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
的C语言编程规范编者按-VxWorks.PDF
RT Embedded
“安全第一”的C 语言编程规范
编者按: C 语言是开发嵌入式应用的主要工具,然而 C 语言并非是专门为嵌入式系
统设计,相当多的嵌入式系统较一般计算机系统对软件安全性有更苛刻的要求。
1998 年,MISRA 指出,一些在 C 看来可以接受,却存在安全隐患的地方有 127 处之
多。2004 年,MISRA 对 C 的限制增加到 141 条。
嵌入式系统应用工程师借用计算机专家创建的 C 语言,使嵌入式系统应用得以
飞速发展,而 MISRAC 是嵌入式系统应用工程师对 C 语言嵌入式应用做出的贡献。
如今 MISRA C 已经被越来越多的企业接受,成为用于嵌入式系统的 C 语言标准,特
别是对安全性要求极高的嵌入式系统,软件应符合 MISRA 标准。
从本期开始,本刊将分 6 期,与读者共同学习 MISRAC。
第一讲: “‘安全第一’的C 语言编程规范”,简述MISRAC 的概况。
第二讲: “跨越数据类型的重重陷阱”,介绍规范的数据定义和操作方式,重
点在隐式数据类型转换中的问题。
第三讲: “指针、结构体、联合体的安全规范”,解析如何安全而高效地应用
指针、结构体和联合体。
第四讲: “防范表达式的失控”,剖析MISRAC 中关于表达式、函数声明和定
义等的不良使用习惯,最大限度地减小各类潜在错误。
第五讲: “准确的程序流控制”,表述 C 语言中控制表达式和程序流控制的规
范做法。
第六讲: “构建安全的编译环境”,讲解与编译器相关的规范编写方式,避免
来自编译器的隐患。
C/C++语言无疑是当今嵌入式开发中最为常见的语言。早期的嵌入式程序大都
是用汇编语言开发的,但人们很快就意识到汇编语言所带来的问题——难移植、难
复用、难维护和可读性极差。很多程序会因为当初开发人员的离开而必须重新编写,
许多程序员甚至连他们自己几个月前写成的代码都看不懂。C/C++语言恰恰可以解
决这些问题。作为一种相对 “低级”的高级语言,C/C++语言能够让嵌入式程序员
更自由地控制底层硬件,同时享受高级语言带来的便利。对于 C 语言和 C++语言,
很多的程序员会选择 C 语言,而避开庞大复杂的 C++语言。这是很容易理解的——C
语言写成的代码量比 C++语言的更小些,执行效率也更高。
对于程序员来说,能工作的代码并不等于 “好”的代码。 “好”代码的指标很
多,包括易读、易维护、易移植和可靠等。其中,可靠性对嵌入式系统非常重要,
尤其是在那些对安全性要求很高的系统中,如飞行器、汽车和工业控制中。这些系
统的特点是:只要工作稍有偏差,就有可能造成重大损失或者人员伤亡。一个不容
易出错的系统,除了要有很好的硬件设计(如电磁兼容性),还要有很健壮或者说
“安全”的程序。
然而,很少有程序员知道什么样的程序是安全的程序。很多程序只是表面上可
以干活,还存在着大量的隐患。当然,这其中也有C 语言自身的原因。因为 C 语言
是一门难以掌握的语言,其灵活的编程方式和语法规则对于一个新手来说很可能会
RT Embedded
成为机关重重的陷阱。同时,C 语言的定义还并不完全,即使是国际通用的 C 语言
标准,也还存在着很多未完全定义的地方。要求所有的嵌入式程序员都成为 C 语言
专家,避开所有可能带来危险的编程方式,是不现实的。最好的方法是有一个针对
安全性的 C 语言编程规范,告诉程序员该如何做。
1 MISRAC 规范
1994 年,在英国成立了一个叫做汽车工业软件可靠性联合会(The Motor
Industry Software Reliability Association,以下简称MISRA)的组织。它是致
力于协助汽车厂商开发安全可靠的软件的跨国协会,其成员包括:AB 汽车电子、罗
孚汽车、宾利汽车、福特汽车、捷豹汽车、路虎公司、Lotus 公司、MIRA 公司、Ricardo
公司、TRW 汽车电子、利兹大学和福特 VISTEON 汽车系统公司。
经过了四年的研究和准备,MISRA 于 1998 年发布了一个针对汽车工业软件安全
性的 C 语言编程规范—— 《汽车专用软件的C 语言编程指南》(Guidelines for the
Use of the C Language in Vehicle Based Software),共有 127 条规则,称
您可能关注的文档
- 炔烃的异构和命名5-乙炔基庚-医药大学堂.ppt
- 烧录工具使用说明手册-纳雷科技.PDF
- 热电厂循环水泵高压变频调速控制系统研究和实现-中国科技论文在线.PDF
- 熟练工系列BLG-BC2连接BLG-IO-Pro1使用说明书(IO连接盒)-HIOS.PDF
- 牦牛与黄牛肌肉差异蛋白质组及生物信息学分析-链科技.PDF
- 特定化学物质相关非含有保证书特定化学物质相关非含有保证书-岛津.PDF
- 猪缺血心肌嗜中性白细胞浸润及维拉帕米的保护作用-Acta.PDF
- 猪链球菌病和蓝耳病混合感染的诊断及综合防治-海大集团.PDF
- 献血服务部2011年发表论文-浙江省血液中心.doc
- 生化与细胞所2015年工作进展简报-中国科学院生物化学与细胞生物.PDF
文档评论(0)