是否有Cppcheck消息列表?

Tas*_*Tas 15 static-analysis cppcheck

我们的团队以前使用Lint作为静态代码分析器,但它变得过于混乱并且噪音太大.

我们使用C++ 03经常使用Boost,而Lint似乎不喜欢Boost(我听说这在后来的版本中变得更好).我开始查看其他静态代码分析器并遇到了Cppcheck并尝试了它.我对它所警告的内容印象深刻(我看过十几个信息和风格问题).

我感兴趣的是:是否有Cppcheck发布的所有Cppcheck消息的列表,类似于LintPVS-Studio 如何都有他们的消息列表?官方网站Cppcheck名单:

  • 越界检查
  • 内存泄漏检查
  • 检测可能的空指针解引用
  • 检查未初始化的变量
  • 检查STL的无效使用情况
  • 检查异常安全
  • 如果使用过时或不安全的功能,请发出警告
  • 警告未使用或冗余的代码
  • 检测指示错误的各种可疑代码
  • ...

但是我对类似于Lint和PVS-Studio的东西更感兴趣,并且类似于在Visual Studio中显示结果的方式:

ID | Category/Severity | Text
Run Code Online (Sandbox Code Playgroud)

Hai*_*otr 13

项目维基上提供一个Cppcheck检查列表,如上所述,您还可以通过运行以下命令从命令行获取列表:

$ cppcheck --doc
Run Code Online (Sandbox Code Playgroud)

要么

$ cppcheck --errorlist
Run Code Online (Sandbox Code Playgroud)

错误列表输出一个包含您想要的所有三件事的XML文件.这是一个小例子:

<error id="unnecessaryForwardDeclaration" severity="style" msg="The variable &apos;name&apos; forward declaration is unnecessary. Type variable is already declared earlier."/>
<error id="variableHidingEnum" severity="style" msg="variable &apos;name&apos; hides enumerator with same name"/>
<error id="unnecessaryQualification" severity="style" msg="The extra qualification &apos;type&apos; is unnecessary and is considered an error by many compilers."/>
Run Code Online (Sandbox Code Playgroud)