### 目录版MISRA 2004:关键知识点概述 #### 1. 背景——C的使用和问题 ##### 1.1 汽车工业中C的使用 MISRA-C:1998首次发布于1998年,旨在规范C语言在汽车行业的应用。随着时间的推移和技术的发展,MISRA-C:2004作为修订版应运而生,旨在解决与原版相关的一些问题。在汽车工业领域中,实时嵌入式系统的开发越来越依赖于C语言,这主要是因为C语言具有以下优势: - **广泛的微处理器支持**:对于大多数微处理器而言,C语言是最常用且最实用的高级语言之一,特别是在缺少其他语言支持的情况下。 - **高性能支持**:C语言为高速度、低层级的输入/输出操作提供支持,这对于汽车嵌入式系统至关重要。 - **适应复杂应用**:随着应用程序复杂性的增加,相较于汇编语言,C语言更易于管理和维护。 - **代码效率**:与其他高级语言相比,C语言通常能生成更小、更少占用RAM的代码。 - **增强的可移植性**:市场竞争促使软件在项目周期内的任何时候都能迁移到新平台或低成本处理器,从而降低成本。 - **自动代码生成**:现代开发流程中,经常需要从模型中自动生成C代码。 ##### 1.2 语言的不安全性和C语言 尽管C语言在汽车行业有着广泛应用,但它也存在一些固有的不安全性,主要来源于以下几个方面: - **程序员错误**:这类错误包括但不限于拼写错误、逻辑错误以及对算法的误解。虽然任何编程语言都无法完全避免这些问题,但语言的设计可以减轻或加剧这些错误的影响。 - **C语言的不安全性示例**:C语言允许程序员犯下一些常见的错误,例如将等于运算符“==”误写为赋值运算符“=”,或者在if语句后误加分号,这些都可能导致代码行为不符合预期。 - **语言设计**:C语言的设计假设程序员具备一定的专业知识,因此对于某些常见的错误,C语言不会进行检查或给出警告。 #### 2. MISRA-C:视野 ##### 2.1 MISRA-C的发布说明 MISRA-C:2004的发布旨在提供一套更加完善的标准,以指导汽车行业在关键系统中正确使用C语言。与MISRA-C:1998相比,新版标准进行了多方面的改进和更新,以应对新技术的发展和安全性的提升。 ##### 2.2 MISRA-C的目标 MISRA-C:2004的主要目标是通过制定一系列规则来提高使用C语言编写的安全关键系统代码的质量。这些规则旨在减少由于语言本身的不安全性导致的潜在风险,并确保代码的可靠性和可维护性。 #### 3. MISRA-C:范围 ##### 3.1 基本的语言问题 MISRA-C:2004关注C语言的核心特性和用法,包括但不限于数据类型、控制结构、内存管理等方面的基本问题。 ##### 3.2 未指出的问题 标准还涉及了一些在之前版本中没有明确提及的问题,以便更全面地覆盖C语言的各个方面。 ##### 3.3 可应用性 该标准适用于各种类型的嵌入式系统,特别是那些对安全性和可靠性有极高要求的应用场景。 ##### 3.4 预备知识 使用MISRA-C:2004的开发人员需要具备一定的C语言基础和编程经验。 ##### 3.5 C++问题 虽然MISRA-C:2004主要针对C语言,但它也为C++提供了一定程度上的指导,尤其是在两者共用相似语法的情况下。 ##### 3.6 自动产生代码的问题 对于由工具自动生成的C代码,MISRA-C:2004也提供了一套评估标准,以确保自动生成代码的质量。 #### 4. 使用MISRA-C ##### 4.1 软件工程环境 MISRA-C:2004强调了在整个软件开发生命周期内遵循其规定的规则的重要性,这有助于建立一个稳定可靠的软件工程环境。 ##### 4.2 编程语言和编码环境 该标准不仅限于C语言本身,还考虑到了编码环境对代码质量的影响。 ##### 4.3 采用子集(subset) 考虑到不同应用场景的具体需求,MISRA-C:2004允许开发者根据实际项目情况选择使用特定的子集规则。 ##### 4.4 符合性声明(Claiming compliance) 为了确保遵循MISRA-C:2004的开发团队能够对外宣布他们的代码符合标准,标准中详细规定了如何进行符合性声明。 ##### 4.5 持续改进 MISRA-C:2004鼓励开发者不断评估和完善其代码,以确保长期保持高质量标准。 #### 5. 规则简介 ##### 5.1 规则分类 MISRA-C:2004中的规则被分为多个类别,以便更好地组织和理解。 ##### 5.2 规则的组织 规则按照其目的和适用范围进行组织,便于开发者快速找到所需的信息。 ##### 5.3 规则的冗余 为了避免重复,标准尽量减少了规则之间的冗余。 ##### 5.4 规则的形式 每个规则都有明确的形式和格式,以便于理解和遵循。 ##### 5.5 理解原始参考 为了确保规则的准确性和一致性,MISRA-C:2004提供了一份详细的原始参考文档。 ##### 5.6 规则的范围 MISRA-C:2004涵盖了C语言使用的各个方面,包括但不限于环境设置、语言扩展、文档编制、字符集、标识符、类型、常量、声明与定义、初始化、数值类型转换、指针类型转换、表达式、控制语句、控制流、switch语句、函数、指针和数组、结构与联合、预处理指令、标准库和运行时错误等内容。 通过以上对MISRA-C:2004关键知识点的详细概述,可以看出该标准不仅是对C语言在汽车行业的应用提出了具体指导,更是为整个汽车行业乃至所有需要高度可靠性和安全性的嵌入式系统开发提供了一套完整的指南。遵循MISRA-C:2004不仅可以提高代码质量,还能显著降低因软件缺陷引发的风险。



























- 粉丝: 28
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 软件工程可行性研究报告模板(1).doc
- 基于单片机的红外防盗报警-毕业论文(1)(1).doc
- 积极探讨并推动自动化专业高质量创新型人才培养——高等学校自(1).ppt
- 基于大数据时代的高中历史创新教学研究(1).docx
- (2)本单位的计算机信息网络安全保护管理制度-包括互联(2)(1).doc
- 计算机逻辑结构与基础课件:3-1触发器的原理(1).ppt
- 电子商务协议书(标准版)(1)(1).docx
- 计算机技术在船舶轮机模拟系统中的应用(1).docx
- 物联网技术架构以及物联网应用典型案例(1).pptx
- 人工智能课程体系及项目实战(1).docx
- 《计算机应用基础》形考作业三答案(1)(1).docx
- 精选电子商务实习总结4篇(1).docx
- 基于web的校园二手市场信息发布系统的设计与实现大学论文(1).doc
- 会计实务:分步骤用Excel进行财务分析(1)(1).doc
- 基于深度学习的小学数学概念教学策略研究(1).docx
- FSSC管理会计信息化探讨.doc


