c - 个人使用程序的 MISRA-C 编码指南?

标签 c embedded misra

我通常是一名木工,而不是开发人员。我正在学习用于嵌入式系统的 C/C++,同时尝试使我的一些工具自动化以节省我数小时的重复性工作。

目前,它很有趣并且进展顺利,我已经花费了大约一百个小时的编码/学习时间并且已经节省了更多时间*。

我想继续购买并遵循 MISRA 编码规则是“强制性好主意”吗? MISRA 包含什么?仅编码规则,还是某种提示以使其更安全?

那些工具可能很危险(毕竟它们会砍伐木头,而人体的抵抗力要差得多......)。

注意:我显然分 4 个步骤进行测试:

  1. 只是用 OSD 和 SD 卡记录器运行的图片(有一天我会制作一个 anylze 工具并停止读取那些)。

  2. 我插入工具时什么都没有

  3. 我在泡沫上使用软钻/切割器

  4. 我的手放在紧急停止按钮上,在很远的距离进行真实测试。

此外,我是唯一的员工,没有其他人可以访问我的工作场所。

*目前,我已经将钻头变成了一种 3D 木材打印机(完成工作中不精确的部分),并将“切菜板”变成了自动化的。

注意 2:我不是母语人士,所以工具的名称可能有误。

最佳答案

MISRA 最初是为汽车行业设计的,尽管在这个阶段它已经发展得很好。 MISRA 指南规定的目标是:

  • 确保安全
  • 为软件带来稳健性和可靠性。
  • 当与属性(property)安全发生冲突时,人身安全必须放在首位。
  • 在系统设计中同时考虑随机和系统故障。
  • 展示稳健性,而不仅仅是依靠没有失败。
  • 在产品的设计、制造、操作、维修和处置过程中应用安全注意事项。

这些文档主要包含基于规则的代码咨询信息,这些信息试图满足这些目标。 MISRA 文件的价格多年来有所下降,一些文件可以从 MISRA 在线购买,价格低至 10 英镑 + 增值税。

但是,作为初学者和业余编码人员,我建议首先加强您对 C 和 C++ 的了解。虽然在大多数行业领域中,遵循相关标准(如果适用)通常是好的,但编写文档时假设读者在语言方面以及管理全面商业类型的关注点和流程方面具有非常扎实的基础用它们编写的应用程序。如果您的工作室仅供个人使用,并且取决于您所在辖区的工作场所安全管理规则,我可以说,对语言、语言工具和硬件有很好的理解将使您开始就如何在这样的阶段,比阅读 MISRA 可以编写更多的代码。

如上文所述,值得重申的是,MISRA 不是某种魔杖或具体的方法来保证您的代码良好、有效且安全。好代码和坏代码都可以符合标准。在完全掌握您正在做的事情之前遵循 MISRA 可能等同于确保车间中的每根电缆都整齐地固定到位,然后用凿子刺伤自己。

关于c - 个人使用程序的 MISRA-C 编码指南?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43588714/

相关文章:

c - 对数组使用 calloc 的正确方法是什么?

c - 将 itdr 存储在 x64 上

embedded - 芯片(SoC)中的各种复位

c - Misra-C 2012 规则 10.1 bool 操作数用于表达式为 bool 类型的情况

c - 分配给更广泛的基本类型的表达式

c - 在C中获取字符串的一个特定标记

c - 需要了解 pthread_mutex_lock() 和 pthread_cond_wait() 以及 pthread_cond_signal() 的一种用法

c - const 变量什么时候初始化?

c++ - 如何解决此 MISRA 警告 : C++

c - 为什么 gcc 在其所有错误消息中都有 "â"?