Clang-Tidy 是 LLVM 提供的可扩展 C++ 静态分析工具,依赖 compile_commands.json 获取编译信息,支持按需启用检查规则、自动修复、编辑器集成及 CI/CD 流程嵌入。

Clang-Tidy 是 LLVM 项目提供的一个可扩展的 C++ 静态分析工具,能自动检测常见编程错误、风格问题和潜在缺陷。它不依赖完整编译,但需要准确的编译命令信息(通常来自 compile_commands.json),才能正确解析模板、宏和头文件。
准备编译数据库(compile_commands.json)
Clang-Tidy 需要知道每个源文件是如何被编译的(包含哪些头路径、宏定义、语言标准等)。最可靠的方式是生成 compile_commands.json:
- 使用 CMake:在构建目录中运行
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..,CMake 会自动生成该文件 - 使用 Ninja 或 Make:确保构建系统支持导出(如 Ninja 默认支持),或用工具如
Bear拦截编译过程:bear -- make - 文件必须位于项目根目录或 Clang-Tidy 当前工作目录下;也可用
-p参数指定路径
运行基础检查
最简单的用法是检查单个文件:
clang-tidy -p build/ main.cpp常用选项说明:
立即学习“C++免费学习笔记(深入)”;
标签: html js git json github 工具 ai c++ gitlab vs code
还木有评论哦,快来抢沙发吧~