- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
作者:清华大学陈萌萌邵贝贝
文章来源:《单片机与嵌入式应用》2006年6期连载
第一章“安全第一”的C语言编程规范
C/C++语言无疑是当今嵌入式系统开发中最为常见的语言。早期的嵌入式程序大都是用汇编开发的,
但人们很快就意识到汇编语言带来的问题——难移植、难复用、难维护和可读性极差。很多程序会因为当
初开发人员的离开而必须重新编写,许多程序员甚至连他们几个月前写成的代码都看不懂。C/C++语言恰
恰可以解决这些问题。作为一种相对“低级”的高级语言,C/C++语言能够让嵌入式工程师更自由的控制
底层硬件,同时享受高级语言带来的便利。对于语言和语言,很多程序员会选择语言,而避免庞
CC++C
大而复杂的语言。这是很容易理解的——语言写成的代码量比语言写成的更小些,执行效率也
C++CC++
更高。
对于程序员来说,能工作的代码并不等于“好”的代码。“好”代码的指标很多,包括易读、易维护、
易移植和可靠等。其中可靠性对嵌入式系统非常重要,尤其在那些对安全性要求很高的系统的中,如飞行
器、汽车和工业控制中。这些系统的特点是:只要工作稍有偏差,就有可能造成重大损失或者人员伤亡。
一个不容易出错的系统,除了要有很好的硬件设计(如电磁兼容性),还要有很健壮或者说“安全”的程
序。
然而,很少有程序员知道什么样的程序是安全的程序。很多程序只是表面上可以干活,还存在着大量
的隐患。当然,这其中也有语言自身的原因。因为语言是一门难以掌握的语言,其灵活的编程方式和
CC
语法规则对于一个新手来说很可能成为机关重重的陷阱。同时,语言的定义还并不完全,即使是国际通
C
用的语言标准,也还存在着很多未完全定义的地方。要求所有的嵌入式程序员都成为语言专家,避开
CC
所有可能带来危险的编程方式,是不现实的。最好的方法就是一个针对安全性的语言编程规范,告诉程
C
序员该如何做。
1、MISRA-C规范
年,在英国成立了一个叫做汽车工业软件可靠性联合会(
1994TheMotorIndustrySoftware
ReliabilityAssociation,以下简称MISRA)的组织。它是致力于协助汽车厂商开发安全可靠的软
件的跨国协会,其他成员包括:汽车电子、罗孚汽车、宾利汽车、福特汽车、捷豹汽车、路虎公司、
AB
公司、公司、公司、汽车电子、利兹大学和福特汽车系统公司。
LotusMIRARicardoTRWVISTEON
经过了年的研究和准备,于年发布了一个针对汽车软件安全性的语言编程规范——
4MISRA1998C
《汽车专用软件的语言编程指南》(
CGuidelinesfortheUseoftheCLanguageinVehicle
),共有条规则,成为:。
BasedSoftware127MISRA-C1998
语言并不乏国际标准。国际标准化组织(
您可能关注的文档
- 必威体育精装版一年级带四线格拼音字母表大卡-打印版.doc
- 任务四-制冷系统的维护作业.ppt
- 肺-结-核近年原文.ppt
- 商业合作计划书范文3篇.docx
- 河北省邯郸市2019-2021年三年中考一模英语试卷分类汇编:任务型阅读.doc
- 2020-2021学年度上学期八年级期中考试数学试卷(图片版含答案).doc
- 危重患者的护理常规.ppt
- 医疗管理PPT精选课件.ppt
- 论辅导员在高校突发事件管理中的角色定位.pdf
- 2.6网络组成及应用软件开发-【新教材】浙教版(2019)高中信息技术必修二课件.pptx
- 电商客服服务规范手册.doc
- 锂电池精密结构件项目可行性研究报告.pptx
- 易错点纠错练02 介词-备战2024年高考英语考试易错题(解析版).pdf
- 易错点纠错练03 名词与构词法-备战2024年高考英语考试易错题(解析版).pdf
- 易错点纠错练08 主谓一致易错点-备战2024年高考英语考试易错题(解析版).pdf
- 易错点纠错练09 定语从句易错点-备战2024年高考英语考试易错题(解析版).pdf
- 河南省驻马店市确山县2024-2025学年九年级上学期期中语文试题.docx
- 河南省驻马店市2024-2025学年高一上学期期中考试生物试卷.docx
- 山西省大同市2024-2025学年高三上学期11月期中考试 化学试题(无答案).docx
- 河南省驻马店市确山县2024-2025学年八年级上学期期中语文试题.docx
最近下载
- 桥牌入门-课件(PPT演示稿).ppt
- 教科版(2017)小学科学四年级上册各单元测试练习及答案(附期中期末练习).pdf
- 博雅汉语初级起步篇第15课说课材料.ppt
- 东风本田-思威(CR-V)-产品使用说明书-两驱CR-V豪华版Vti-DHW6453R3CSD-思威(CR-V)用户手册.pdf
- 云南名扬药业有限公司的营运能力分析.doc VIP
- 种牙得牙--口腔种植学.pptx
- 图解:种牙与镶牙的区别,缺牙的赶紧看.pdf VIP
- 萃取盐酸洗涤液的锡铟分离的方法及其应用.pdf VIP
- 传统节日剧本.doc
- EMERSON艾默生 Guide OpenEnterprise OPC Server Reference Guide说明书用户手册.pdf
文档评论(0)