强曰为道
与天地相似,故不违。知周乎万物,而道济天下,故不过。旁行而不流,乐天知命,故不忧.
文档目录

GCC 完全指南

GCC 完全指南

从编译原理到生产实践,系统掌握 GNU Compiler Collection 的方方面面。

适用读者

读者类型 说明
C/C++ 初学者 希望理解编译流程与 GCC 基本用法
系统开发者 需要深入优化、调试与交叉编译
嵌入式工程师 需要交叉编译工具链与裸机编译
DevOps 工程师 需要在 CI/CD 中集成 GCC 构建流水线
架构师 评估编译器特性、安全加固与性能调优

章节导航

章节 标题 关键词
01 GCC 简介与历史 GCC 历史 · 支持语言 · 编译器架构 · FSF
02 安装与环境配置 各平台安装 · 交叉编译工具链 · 多版本共存
03 编译基础流程 预处理 · 编译 · 汇编 · 链接 · 四阶段模型
04 常用编译选项 -O · -W · -std · -I · -L · -l · -D · -f
05 预处理器详解 宏 · 条件编译 · #include · 预定义宏
06 优化技术 -O0 到 -O3 · -Ofast · -Os · LTO · PGO
07 调试支持 -g · GDB 集成 · DWARF · 调试信息级别
08 警告与静态分析 -Wall · -Wextra · -Werror · -fanalyzer
09 链接器详解 静态库 · 动态库 · 符号解析 · ld · gold · lld
10 库的创建与使用 创建库 · 安装库 · pkg-config · RPATH
11 交叉编译 target · host · build · sysroot · 工具链
12 汇编输出与内联汇编 -S · AT&T · Intel · 内联汇编 · 约束
13 GCC 扩展特性 attribute · Built-ins · 向量化 · Statement Exprs
14 Sanitizers ASan · TSan · UBSan · 内存错误检测
15 性能分析 gprof · perf · 火焰图 · Cache 性能
16 GCC 插件开发 插件 · 自定义 Pass · Tree · RTL · GIMPLE
17 CMake 集成 FindX · 编译器标志 · 工具链文件 · 生成器表达式
18 Docker 中的 GCC 交叉编译容器 · 多架构构建 · CI 镜像
19 故障排查 常见错误 · 链接错误 · ABI 兼容 · 版本问题
20 最佳实践 编译规范 · CI 集成 · 安全编译 · 生产构建

环境要求

操作系统: Linux (推荐 Ubuntu 22.04+) / macOS (Xcode CLT) / Windows (MSYS2/WSL)
GCC 版本: 本教程基于 GCC 12.x / 13.x 编写,大部分内容适用于 GCC 8+
磁盘空间: 完整工具链 + 交叉编译约需 5GB+
推荐工具: GDB 12+、CMake 3.20+、make 4.x

如何使用本教程

  1. 顺序学习: 按章节顺序,从 01 到 20 逐步推进
  2. 按需查阅: 根据上表跳转到具体章节解决实际问题
  3. 动手实践: 每个代码示例均可直接运行,建议边学边练
  4. 笔记标注: 每章末尾设有「要点回顾」与「注意事项」

本教程基于 GCC 12.x / 13.x 编写,部分选项和特性在旧版本中可能不可用。