强曰为道

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

GCC 完全指南

GCC 完全指南

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

适用读者

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

章节导航

章节标题关键词
01GCC 简介与历史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 · 内联汇编 · 约束
13GCC 扩展特性attribute · Built-ins · 向量化 · Statement Exprs
14SanitizersASan · TSan · UBSan · 内存错误检测
15性能分析gprof · perf · 火焰图 · Cache 性能
16GCC 插件开发插件 · 自定义 Pass · Tree · RTL · GIMPLE
17CMake 集成FindX · 编译器标志 · 工具链文件 · 生成器表达式
18Docker 中的 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 编写,部分选项和特性在旧版本中可能不可用。