Advertisement

MISRA-C编码标准解读:Rule 2.1至Rule 2.4

阅读量:

前言

MISRA-C是一种被广泛认可的软件开发规范,在提升嵌入式系统中C语言编程的安全性和可靠性方面发挥着重要作用。本文旨在重点阐述MISRA-C所涵盖的关键规则,并深入分析这些规定在第2章至第4章中的应用。

Rule 2.1 (必须): 汇编语言必须封装和隔离

当项目开发中涉及汇编语言时

示例

复制代码
      #define NOP asm(" NOP")

Rule 2.2 (必须): 源代码必须使用 /* … */ 注释

源代码中的注释应全部采用*/形式书写以确保与C90标准兼容。这要求必须完全摒弃使用带有斜杠的单行注释以及*//式的块状注解。即便少数编译器允许//形式的单行标注存在,在实际应用中为了保证代码的一致性和可读性仍需采取一致化的/式块状标注方式。混合使用不同形式的注解可能会导致同一份代码在不同编译环境下产生不同的行为

复制代码
    /* This is a compliant comment. */
    // This is a non-compliant comment, although supported by some compilers.

Rule 2.3 (必须): 注释中不可以使用/*

  • 说明 :根据MISRA-C等安全规范,在嵌入式注释的做法通常被禁止的情况下,则是为了降低潜在代码理解与维护的复杂度。
  • 示例
复制代码
    /* 错误示例 */
    /* This is a comment /* with an improperly nested comment */

Rule 2.4 (建议): 不建议注释掉代码块

  • 说明 :源代码中的注释应当统一采用/* … */的形式,以确保与C90标准的兼容性。这意味着排除使用C99风格的单行注释(//)和C++风格的注释。尽管某些编译器可能支持//注释,但混用注释风格可能导致不同编译器行为差异,甚至影响代码的可读性和维护性。
  • 示例
复制代码
    /* This is a compliant comment. */
    // This is a non-compliant comment, although supported by some compilers.

总结

遵循MISRA-C规定是构建安全可靠的软件的关键一步。涉及规范汇编语言的应用以及统一注释风格的采用,在谨慎管理代码的功能启用与禁用的基础上实施各项规定,则能有效降低潜在风险并提升代码易读性和维护性

全部评论 (0)

还没有任何评论哟~