
资源介绍
深入了解 C/C++ 编译器前端的内部机制并创建自己的工具
查看所有版本
借助各种可无缝集成到 IDE 中的编译器工具,提高你的工作效率
核心特点
通过了解 C++ 编译器的工作原理以及如何利用其高级功能,加深对 C++ 编程语言的理解
探索静态代码分析技术并将其用于创建代码检查(lint checks)工具
增强你的 IDE,使其支持高级编译器工具
内容简介
探索 Clang 的强大功能 —— 这是一款以编译速度快、错误和警告信息直观而闻名的多功能编译器。本书将帮助你熟悉 Clang 的各种能力,指导你利用其特性来提升性能,并通过创建自定义编译器工具实现模块化开发。
虽然本书聚焦于 Clang 编译器前端,但也涵盖了 LLVM 的其他部分 —— 这些内容对于理解 Clang 的功能至关重要,有助于你跟上不断发展的 LLVM 项目的步伐。
从 LLVM 基础知识(包括安装步骤和开发工具)开始,本书将带你逐步了解 Clang 的内部架构及其在 LLVM 中不可或缺的作用。随着学习的深入,你还将学习如何通过 C++ 模块、头文件映射等特性优化编译性能。
后续章节将介绍基于 Clang/LLVM 开发的工具,包括用于代码检查的 clang-tidy、重构工具以及 IDE 支持等内容,并通过大量示例来阐释相关知识。
读完本书后,你将对 Clang、各类 Clang 工具以及如何充分发挥它们的作用有扎实的理解。
你将学到什么
掌握编译器架构知识
了解 Clang 的内部工作原理
熟悉 Clang 特有的功能
研究各种静态代码分析技术
学习如何使用 AST 匹配器(AST matchers)
创建自定义代码修改和重构工具
探索将编译器工具与 IDE 集成的工具
本书适用人群
本书面向有经验的 C++ 软件工程师,他们可能没有编译器设计经验,但希望获取相关知识以便快速上手。希望了解 Clang 的工作原理并熟悉其特定功能的工程师,也会从本书中受益。
目录
环境设置
Clang 架构
Clang 抽象语法树(AST)
基础库与工具
Clang-Tidy 代码检查框架
高级代码分析
重构工具
IDE 支持与 Clangd
附录 1:编译数据库
附录 2:构建速度优化