Clang 静态分析与自动修复
clang-tidy 基于 Clang AST 检查 C/C++ 代码,支持风格、现代化、性能和 bug 类规则,并可自动修复部分问题。
clang-tidy src/app.cpp -- -std=c++20 -Iinclude
clang-tidy -p build src/app.cpp
clang-tidy -p build --checks='-*,bugprone-*,modernize-*' src/app.cpp
clang-tidy -p build --fix src/app.cpp
clang-tidy -p build --fix-errors src/app.cpp
run-clang-tidy -p build -j 8
.clang-tidy:
Checks: >
bugprone-*,
modernize-*,
performance-*,
-modernize-use-trailing-return-type
WarningsAsErrors: ''
HeaderFilterRegex: 'src/.*'
compile_commands.json 才能正确处理 include/宏;用 -p build。HeaderFilterRegex 限制。--fix 可能与其他规则冲突;分多次小步修复。clang-tidy — 静态分析cppcheck — 另一种静态检查cmake — 生成 compile_commands.json