6.2.2 静态分析工具 (Sparse) 6.2.2 静态分析工具(Sparse):从内核源码的“显微镜”到可扩展类型检查引擎的深度实践 你有没有在 编译 Linux 内核时,见过那一行稍纵即逝却令人脊背一凉的警告: 又或者,在审查一段涉及 指针解引用的驱动代码时,发现 Sparse 用近乎冷酷的精确性指出: 这不是 GCC 的警告,也不是 Clang 的诊断;这是 Sparse——一个诞生于 2004 年、由 Linus Torvalds 亲手设计并持续维护的轻量级 C 语言静态分析器。它不生成可执行文件,不参与链接,甚至不解析完整的 AST;它只做一件事:在编译前,以类型系统为尺,以语义约束为纲,对 C 源码进行一次“带地址空间语义的类型推导”。 这听起来抽象?别急。