MISRA C起源于汽车制造业,旨在通过制定严格的编码规范来提高嵌入式软件的质量、安全性和可移植性。随着技术的发展,MISRA C已逐渐扩展到其他领域,如轨道交通、医疗器械、航空航天等,成为编写安全攸关C代码的最佳实践。 1.2 发展历程 MISRA C先后发布了多个版本,其中MISRA C:2012是当前的最新版本。该版本于2019年2月发...
1、MISRA-C规范 年,在英国成立了一个叫做汽车工业软件可靠性联合会( 1994TheMotorIndustrySoftware ReliabilityAssociation,以下简称MISRA)的组织。它是致力于协助汽车厂商开发安全可靠的软 件的跨国协会,其他成员包括:汽车电子、罗孚汽车、宾利汽车、福特汽车、捷豹汽车、路虎公司、 AB 公司、公司、公司、汽车电子、利兹大...
软件编程规范(MISRA_C)软件编程规范(MISRA_C) 软件编程规范 一环境 二语言扩展 三文档 四字符集 五标识符 六类型 七常量 八声明与定义 九初始化 十数值类型转换 十一指针类型转换 十二表达式 十三控制语句表达式 十四控制流 十五switch语句 十六函数 十七指针和数组 十八结构与联合 十九预处理指令 二十标准库 ...
2.2 MISRA-C 的目标 在发布这个关于 C 编程语言使用的文档时,MISRA 协会并没想促进 C 在汽车工业中的应用,而是因为认识到了 C 的广泛应用。本文档的目标是为了促进该语言的最为安全的使用。 MISRA 协会希望本文档能获得工业上的接受,以及对更安全子集的采用能够成为汽车制造业和许多零部件供应商的最佳实践。它也...
编码规范通常是一个公司自定的“土政策”,居然有人去做标准,而且还得到广泛的认可,这不禁引起我强烈的兴趣。可惜这份标准的文本需要花钱去买,而且短短几十页,要价非常昂贵。MISRA在网上公布了一些文档,其中有关于MISRA C Coding Standard的Clarification报告,从中间你可以大致猜到MISRA标准本身是什么。我仔细阅读了...
当中的 C 位域是该语言中最缺乏良好定义的部分之一。位域的使用可能体现在两个主要方面: 为 了在大的数据类型(同union 一起)中访问独立的数据位或成组数据位。该用法是不允许的 (见规则 18.4)。 为了访问用于节省存储空间而打包的标志(flags)或其他短型(short-length)数据。 为了有效利用存储空间而做的短型...
MISRAC规范 1必须用typedef显示标识出各数据。 2如果位操作符和移位操作符联合作用于unsignedchar或者unsignedshort类型的操作数时,中间运算步骤的结果必须立刻显示强制转换为预期的短整型数据类型。 3MISRA-C对表达式中存在的隐式数据类型转换作了严格的限制,要求程序员明确任意一个操作数的实际数据类型。 4.指向...
C 语言编码规范(MISRA-C-:2004) 众所周知,在制造业(尤其是汽车制造业)非常注重代码安全。MISRA-C 就是一个汽车制造业嵌入式 C 编码标准,最早由汽车工业软件可靠性联合会(Motor Industry Software Reliability Association,简称 MISRA)于 1998 年发布。2004 年发布了第二版的 MISRA C,即《MISRA-C-:2004 ...
1225_MISRA_C规范学习_预处理命令规则要求 全部学习汇总: GitHub - GreyZhang/misra_c_hacking: MISRA C, I'm coming! Happy hacking! 19.1, 这一条应该难以全部实现,比如在AUTOSAR的软件中进行存储分区是很常见的。而存储分区其实是在反复包含memmap的一个头文件。这样的处理机制就很难保证这一...
内容提示: 嵌入式 C 语言编程规范 C 语言是开发嵌入式应用的主要工具, 然而 C 语言并非是专门为嵌入式系统设计, 相当多的嵌入式系统较一般计算机系统对软件安全性有更苛刻的要求。 1998 年, MISRA 指出, 一些在 C 看来可以接受, 却存在安全隐患的地方有 127处之多。 2004 年, MISRA 对 C 的限制增加到 ...