是否可以在 QA-C 中抑制 MISRA 警告

Is it possible to suppress MISRA warning in QA-C

我用过:

#pragma QAC MESSAGE OFF. RULE NUMBER

它适用于许多消息来抑制 QAC 警告,但此技术不适用于消息号 434。我们是否有任何其他方法来抑制这些 QAC 警告。

我认为无法使用代码内 #pragma 或 QA-C 中的注释抑制来抑制 MISRA 规则,如 here 所述。我想这是在文档中解释的(我目前无法访问)。原因是,如果开发人员可以针对特定代码任意压制 MISRA 报告 - 向您的客户或执法机构隐藏偏差,这将降低对 MISRA 报告的信任。

如果 MISRA 合规性是您案例中的合同或法律要求,您应该记录每个偏差并保留警告。如果您只是将 MISRA 用作 "ready made" 编码标准,那么最好配置标准 QA-C 规则来检查 MISRA 规则,而无需如此严格的强制执行。我认为大多数 MISRA 规则都有等效项,或者它们可以从多个规则中合成。

您可以在有警告的行上方添加评论,例如

/* PRQA S 0434*/ 

“诊断 Suppression/Suppression 语法”是查看 MCPP 组件帮助的地方。