新版代码分析器cppcheck 2.11来了

cpp检查

Cppcheck是C/C++代码的静态分析工具

几天前, Cppcheck 2.11 新版本发布,其中进行了多项改进,包括改进用户界面,以及添加新的选项和参数等等。

对于不熟悉 Cppcheck 的用户来说,它是一款对 C/C++ 应用程序开发人员非常有用的工具。这套工具可以帮助您轻松检查程序中的不一致之处、缓冲区溢出和其他问题。

Cppcheck将允许您快速转到所需的代码段并开始编辑它,为此您只需双击它,然后它将用记事本打开,如果您不使用记事本,您可以配置一些应用程序打开代码。

要分析代码,您可以使用其自带的分析器,也可以使用 Clang 提供的外部分析器。它还包含一个脚本,用于提供本地资源,以便对 Debian 软件包进行协作式代码审查。

cppcheck 2.11 的主要新特性

cppcheck 2.11 的新版本改进了命令行界面,新增了一个选项“--check-level”,用于设置检查的详细程度。默认值为“normal”。如需更彻底的检查,可将其设置为“exhaustive”。

另一个值得注意的变化是改进了对某些需要整数值的命令行选项的设置值的控制,并且不再需要运行“--check-config”来获取“missingInclude”和“missingIncludeSystem”的详细信息,因为如果启用了“ missingInclude ” ,它们将始终在常规扫描中发出。

此外,.cppcheck 文件现已弃用,将在 2.14 版本中移除,以便支持“未指定”平台类型,因此建议改用“未指定”平台类型。项目文件选择对话框中将相对路径替换为绝对路径的选项已被移除。

值得注意的是,还为空容器添加了 pop_back() 验证,改进了 STL 库算法any_of、all_of 和 none_of循环中的控制,并改进了控制流分析器。

此外,还提到现在即使在使用条件时也可以确定函数的返回值,并且constParameter 和 constVariable检查都已根据参数或变量是指针、引用还是局部变量而拆分为 3 个标识符,以便更精确地抑制某些类型的消息。

此次新版本的其他显著变化包括:

  • 重新定义函数返回的容器的大小;
  • 从可能的象征意义中推断出可能的意义;
  • 将值放入容器后有所改善。
  • “missingInclude”和“missingIncludeSystem”消息现在使用“–error-exitcode”选项;
  • 使用“-j1”选项扫描项目时,标记文件的处理会延迟到代码文件处理完毕为止。

最后,如果您有兴趣了解更多关于这个新版本的信息,可以在以下链接中找到详细信息。

如何在 Linux 上安装 cppcheck?

对于那些有兴趣能够在他们的 Linux 发行版上安装 cppcheck 的人,他们可以按照我们在下面分享的说明进行操作。

如果您是Debian 用户或任何其他基于 Debian 或衍生自 Debian 的发行版的用户,例如 Deepin 或 Ubuntu,您可以通过在终端中输入以下命令直接执行安装:

sudo apt-get install cppcheck

现在,对于Fedora 及其衍生发行版的用户,可以通过输入以下命令来执行安装:

sudo yum instalar cppcheck

或者,对于使用Arch Linux 或其衍生发行版的用户,可以使用以下命令进行安装:

sudo pacman -S cppcheck


在 Google 中将其添加为首选来源