标题说明了一切……我有需要清理MISRA 2004的项目,并且公司被告知CodeSonar是进行静态分析的好工具。
[在其他静态分析工具上,您可以添加魔术注释以禁用对下一行代码的分析,(PC-Lint为//lint -esym(42)
,CStat使用#pragma cstat_suppress="MISRAC++2008-6-4-1"
),但CodeSonar似乎没有任何等效项-请告诉我我错了!
我见过提到// NOSONAR
,但在CodeSonar 5.1上似乎不起作用
((我很快得出结论,CS是一堆垃圾邮件,这些垃圾邮件是由从未在SVN和多个程序员中在现实世界中进行编程的人编写的,当您合并分支时,在精美的UI中禁用警告会降低工作效率)进入中继线,所有行号都会更改。)
查看配置变量WARNING_FILTER
的文档和示例。
CodeSonar在任何版本中都没有提供现成的// NOSONAR
。但是,WARNING_FILTER
可用的一种规则格式将允许您自己决定采用哪种方法。
如果您需要禁止显示特定警告,则应该可以直接注释该警告。用于在分析之间关联“相同”警告的签名不取决于行号或极有可能更改的其他代码特征。
自CodeSonar 4.0.0起,WARNING_FILTER
中添加了一个新的过滤器选项:line_content
,允许您添加“魔术注释”。
将以下行添加到您的proj_name.conf:
WARNING_FILTER += line_contents:"NOLINT"
这将禁用以// NOLINT
结尾的行的警告>