
官网地址:(点击最下方【阅读原文】可直达)https://tca.tencent.com/
官网介绍:https://cloud.tencent.com/product/tcap 官方开源:https://github.com/Tencent/CodeAnalysis 国内镜像:https://git.code.tencent.com/Tencent_Open_Source/CodeAnalysis
▼
Clang-Tidy-16是一款强大的C++静态分析工具,能够自动检测代码中的问题并提供修复建议,为了更高效通常会结合编译数据库(Compile Database)来使用。
Clang-Tidy-16是基于Clang提供的AST(抽象语法树)框架实现的。通过遍历AST来进行代码分析。AST是源代码的一种抽象表示,将代码转化为一棵语法树,帮助分析器理解代码的结构、语义和逻辑。在默认情况下,Clang-Tidy-16会直接使用Clang内置的AST来进行代码分析。
▼
使用方式:
Clang-Tidy-16工具在执行时可以指定文件的编译命令,如下:
clang-tidy test.cpp -- -Imy_project/include -DMY_DEFINES ...对于一个项目来说,可以生成一个compile_commands.json文件(包含每个文件的编译命令)如下:

然后在工具运行时使用 -p 参数指定该文件,对每个文件分析时,会自动寻找对应的编译命令,这种指定了项目编译命令的方式,所生成的AST可以更准确地反映源代码的语义和结构,从而提高分析的精度和准确性
生成方式:
直接在项目根目录下生成compile_commands.json文件,基于项目不同的构建方式,生成该文件的步骤不同:
使用cmake进行构建的项目,可以在项目根目录下使用如下命令:
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1对于使用makefile进行构建的项目:
使用 bear 工具 :bear <编译命令>, 如:bear make
▼
进入页面,点击方案->规则配置 -> 自定义规则包-> 添加规则 ->搜工具名->选择批量添加工具规则

关注我们,持续为您的代码助力!