路径 — C 开发

本路径面向系统编程、嵌入式开发、内核与驱动开发、高性能计算等底层工程方向。以 C 语言为核心工具,深入操作系统与计算机体系结构,建立从源代码到晶体管级的完整认知。

每学一个概念都用代码验证,每理解一个机制都追溯到汇编或内核源码。最终目标是能在没有魔法帮助的环境 (裸金属、嵌入式 RTOS、自研内核) 下独立完成系统级开发。


目标受众

维度描述
目标系统软件工程师、嵌入式开发、内核/驱动工程师、HPC/性能工程师
前置C 语言基本语法 (至少完成 Phase 1)
适用人群想深入理解计算机底层运行机制的学生和工程师,对”为什么程序这么快/这么慢”有执念的人
建议周期6-10 个月 (取决于深度)

Phase 1: C 语言入门 (建议 2 周)

完成后可先做少量简单练习巩固语法。


Phase 2: C 语言深化 (建议 3 周)


Phase 3: 数据结构 (建议 5 周,用 C 实现)

主线按 DSA 学习路线 推进:

Phase 0 — 数组与字符串基础:

Phase 1 — 线性结构与排序:

Phase 2 — 核心数据结构:

Phase 3 — 进阶:

选学:

C 语言底层参考 (手写实现):


Phase 4: 深入底层 — 操作系统与计算机原理 (建议 3 周)

数据结构讲述”容器怎么做”,深入底层回答”为什么这样做”。建议学完数据结构的 Phase 1(容器/链表/栈/队列)之后进入本 Phase,再回去继续数据结构 Phase 2-3。

操作系统 (教程索引):

以上四篇为衔接数据结构的核心篇目,其余可选:

计算机原理 (教程索引):

  • B 缓存层级 — cache line、空间局部性、cache miss 的代价、伪共享
  • A 数据表示 — 二进制补码、字节序(大小端)、内存对齐、浮点表示
  • C CPU架构 — 流水线、分支预测、乱序执行、SIMD

以下可选:


Phase 5: 算法技巧 (建议 3 周)


Phase 6: 汇编基础 (建议 2 周)


Phase 7: 系统内核 (建议 4 周)


C 标准库参考 (按需查阅)

容器类库:

功能类库:


推荐阅读物

  • The C Programming Language (K&R)
  • Understanding the Linux Kernel
  • Linux Kernel Development (Robert Love)
  • Computer Systems: A Programmer’s Perspective (CS:APP)
  • Advanced Programming in the UNIX Environment (APUE)
  • The Linux Programming Interface

语言官方文档


相关模块