如何在 C++ 中禁用 CodeSonar 警告
How to disable a CodeSonar warning in C++
标题说明了一切...我有一个项目需要清理 MISRA 2004,公司被告知 CodeSonar 是进行静态分析的好工具。
在其他静态分析工具上,您可以添加魔术注释以禁用对下一个 line\block 代码的分析,(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
的一种可用规则形式将允许您自己实施一个,如果您决定采用这种方法的话。
如果你需要抑制一个特定的警告,你应该可以直接注释警告。用于在分析之间关联 'the same' 警告的签名不依赖于行号或其他极有可能更改的代码功能。
从 CodeSonar 4.0.0 开始,WARNING_FILTER
中添加了一个新的过滤器选项:line_content
允许您添加 "magic comment".
将以下行添加到您的 proj_name.conf:
WARNING_FILTER += line_contents:"NOLINT"
这将禁用以 // NOLINT
结尾的行的警告
标题说明了一切...我有一个项目需要清理 MISRA 2004,公司被告知 CodeSonar 是进行静态分析的好工具。
在其他静态分析工具上,您可以添加魔术注释以禁用对下一个 line\block 代码的分析,(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
的一种可用规则形式将允许您自己实施一个,如果您决定采用这种方法的话。
如果你需要抑制一个特定的警告,你应该可以直接注释警告。用于在分析之间关联 'the same' 警告的签名不依赖于行号或其他极有可能更改的代码功能。
从 CodeSonar 4.0.0 开始,WARNING_FILTER
中添加了一个新的过滤器选项:line_content
允许您添加 "magic comment".
将以下行添加到您的 proj_name.conf:
WARNING_FILTER += line_contents:"NOLINT"
这将禁用以 // NOLINT