4.1 培训

为了确保产生C 源代码的人员具有适当水平的技能和能力,应提供以下方面的正式培训:

由于编译器和静态分析工具是复杂的软件,因此也应考虑提供使用它们的培训。通常情况下,选用的静态分析工具可能会提供专门针对 MISRA C 的使用培训。

4.2 了解编译器

在本文档中,术语“编译器”,被 ISO C 标准[2]、[8]称为“实现”,表示编译器本身及其相关工具, 例如链接器,库管理器和可选的文件格式转换工具。

编译器可以提供控制其行为的各种选项。了解这些选项的影响非常重要,因为它们的使用或不使用可能会产生影响:

理解编译器如何实现 ISO C 标准中称为“实现定义”的 C 语言的那些特性非常重要。同样的,理解编译器可能提供的任何语言扩展也很重要。

编译器开发人员可能会提供(并维护)已知会影响编译器的缺陷清单及其可用的解决方法。在使用该编译器启动项目之前,了解该列表的内容显然是有利的。如果无法获得这份清单,则应在发现缺陷或疑似缺陷的情况下,记录一份本地清单,并将该发现报告给编译器开发人员。

4.3 了解静态分析工具

为了解项目中使用的每个静态分析工具,我们应阅读它们的文档以了解: