Misra-C编码规范全解读 - Dir 1 执行情况

Dir 1 执行情况

->返回总目录<-

Dir1.1在编码过程中对所有输出的具体实现定义行为都要被记录和理解

必要性适用范围参考
必选项 C90 C99Rule 5.1, Rule 5.2

1.1.1 概述

标题看起来是不是很难以理解,英文原文是这么写的

Any implementation-defined behavior on which the output of the program depends shall be documented and understood

是不是一脸懵逼,我也是反复看了好几遍才明白了过来。翻译过来就是在编码的过程中的一些具体的实现行为需要被文档记录和理解;这里比较难懂的就是这个具体的实现行为。我们可以这么理解:就是在编码过程中遇到的有争议的行为,可能造成同一份代码出现不同效果的因素,即使它符合所有的MisraC规范。主要可以划分为以下几种类型的行为,这里提出一些示例,如果要看详细的行为可以参考MisraC 2012规范的附录G:

  • 核心行为
    - 例如:int类型的长度
  • 扩展
    - 例如:#progma的定义和使用
  • 标准库
    - 例如:获取时钟函数的实现
  • 应用的二进制接口
    - 例如:每个数据类型的对齐的实现(比如8位对齐还是32位对齐这类)
  • 整数除法
    - 例如:C99和C90的整数除法中,操作数为负数时的处理
  • 浮点运算的具体实现
    - 例如:浮点数的精度

1.1.2 根本原因

那么为啥要设立这条规范呢?其实也容易理解,重要的是要知道程序这么运作和输出是有意的,而不是偶然产生了。就是要让所有的程序动作都能被程序员所理解,让我们的箱子白化。对嵌入式程序而言,这点尤为重要

附:返回总目录的传送门如下
->返回总目录<-

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MISRA-C-2012是一种针对C编程语言的软件开发规范,旨在帮助开发人员编写高质量、安、可靠的嵌入式系统软件。该规范MISRA(Motor Industry Software Reliability Association)组织制定,是一份非常严格和规范的标准,包含了大量的编码规则和指南,旨在避免C语言程序中常见的错误和潜在的安问题。 MISRA-C-2012规范对于内存管理、控制语句、表达式、数据类型、函数等方面都有详细的规则和建议,例如在使用指针时需要遵守的规则、如何使用控制语句、如何定义函数原型等内容。除此之外,该规范还对编码风格、变量名命名规范等方面进行了规定,以便使程序代码更易于理解和维护。 遵守MISRA-C-2012规范的好处是显而易见的,首先可以增加代码的可读性和可维护性,提高程序的质量和稳定性。其次,通过规范化的编码规则,可以有效地减少程序中的bug和错误,提高软件的可靠性和安性。另外,MISRA-C-2012规范还有助于提高软件开发人员的编码水平和技术素养,促进团队之间的协作和沟通。 总的来说,MISRA-C-2012规范对于开发嵌入式系统软件的团队和个人来说是一份非常有价值的参考文档,它能够帮助开发人员编写出更加可靠和高质量的软件,符合行业标准和市场需求。因此,我们应该在软件开发过程中严格遵守MISRA-C-2012规范,以确保软件的质量和安性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雪云飞星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值