规则3.2(强制):字符集和相应的编码应该文档化。 例如,ISO 10646 [22]定义了字符集映射到数字值的国际标准。出于可移植性的考虑,字符常量和字符串只能包含映射到已经文档化的子集中的字符。 规则3.3(建议):应该确定、文档化和重视所选编译器中整数除法的实现。 当两个有符号整型数做除法时,ISO 兼容的编译器的运...
MISRA C编码规范是针对汽车工业软件安全性制定的一套C语言编码标准,旨在增强嵌入式系统的安全性和可移植性。以下是对MISRA C编码规范的详细介绍: 一、背景与目的 MISRA C起源于汽车制造业,随着技术的发展,已逐渐扩展到其他领域,如轨道交通、医疗器械、航空航天等。其目的主要是通过制定严格的编码规范,提高嵌入式软件...
汽车工业软件可靠性协会先后发布了三代MISRA C编码规范: 1998年,第一代MISRA C编码规范:MISRA C:1998(MC1) 2004年,第二代MISRA C编码规范:MISRA C:2004(MC2) 2013年,第三代MISRA C编码规范:MISRA C:2012(MC3) MISRA官网,目前已经25周年。 https://www.misra.org.uk/Publications/tabid/57/Default.aspx 目...
汽车工业软件可靠性协会先后发布了三代MISRAC编码规范: ·1998年,第一代MISRAC编码规范: MISRA C:1998 (MC1)。最初只是针对汽车制造业的嵌入式开发。 ·2004年,第二代MISRAC编码规范: MISRA C:2004 (MC2)。扩大覆盖范围到其他高安全性系统 ·2012年,第三代MISRAC编码规范: MISRA-C:2012。最新版本。 2 MISR...
2004 年发布了第二版的 MISRA C,即《MISRA-C-:2004 Guidelines for the use of the C language in critical systems》,是目前工业界常用的 C 语言编码规范。MISRA-C-:2004 规则分为 21 类,覆盖从「开发环境」到「运行期错误」,包含 141 项规则,其中 121 项是强制要求,其余的 20 项是推荐使用的规则。
因此,很多嵌入式开发者都以MISRA C来衡量自己的编码风格,比如著名的uC/OS就称自己99%的代码遵循MISRA C编码规范标准。因此,作为嵌入式开发者,不论哪个行业,都应以产品安全性为前提,保证可靠性、可读性、可移植性,也就是保证自身代码尽可能符合MISRA C。
MISRA C编码规范 综上所述,C语言对于安全性要求很高的汽车软件而言是不安全的。汽车工业软件可靠性协会(Motor Industry Software Reliability Association,MISRA)在1998年发布了第一版针对汽车工业软件安全性的C语言编码规范---MISRA C,让程序员有规范可循。从1998年发布的MISRA C:1998,只针对汽车制造业的嵌入式开发...
MisraC一套面向嵌入式系统的编码规则,此类规则又被称为“编程规范”、“C范”或“C言规则”。Misra C则的目标是提供强迫性且可靠的程序设计,尤其是用于开发嵌入式系统,防止编写安全漏洞和性能问题。Misra C规则涵盖了C言核心语法、编码风格和实践,因此是为提高代码质量而充满期待的核心组成部分。 Misra C背景和历史...
MISRA C 2012编码标准是针对C语言编程的一项国际性标准,旨在为开发者提供一套规范化的指导原则,以确保软件的可靠性和安全性。该标准由英国汽车工程学会(Motor Industry Software Reliability Association,简称MISRA)制定,是MISRA C标准的第三个版本,于2012年发布。 MISRA C2012针对C语言编程中可能引发错误、导致系统故障...
软件工程环境4.2 编程语言和编码环境 4.3 采用子集(subset) 4.4 符合性声明(Claiming compliance) 4.5 持续改进 5 规则简介 5.1 规则分类 5.2 规则的组织 5.3 规则的冗余 5.4 规则的形式 5.5 理解原始参考 5.6 规则的范围 曾小庆:MISRA-C-2004工业标准的C编程规范(二)(中文版)5 赞同 · 1 评论文章 ...