本篇是关于 C/C++ 代码格式化和静态分析检查的实践分享。
目前 C/C++ 语言的代码格式化和检查工具使用的最为广泛的是 LLVM 项目中的 Clang-Format 和 Clang-Tidy。
LLVM 项目是模块化和可重用的编译器和工具链技术的集合。
对于 C/C++ 代码格式化和静态分析检查用到是 LLVM 项目中 clang-format 和 clang-tidy,放在一起我们称它为 clang-tools。
虽然我们有了工具,但如何把工具更好的集成到我们的工作流中才是本篇重点要讨论的。
cpp-linter 组织的诞生就是为 C/C++ 代码格式化和静态分析检查提供一站式的工作流,包括:
- 方便下载 clang-tools,提供了 Docker images 和 binaries 两种使用方式;
- 方便与工作流进行集成,包括与 CI 以及 git hooks 的集成。
下面介绍如何使用 clang-tools 下载工具,以及集成到工作流中。