C 语言是系统编程的基石,必须扎实掌握。
-
C 语言核心
指针、内存管理、结构体、联合体、位运算
-
C 进阶
函数指针、回调、可变参数、预处理器、标准库
-
计算机组成原理
CPU 架构、内存层次、汇编基础、指令集
-
操作系统原理
进程管理、内存管理、文件系统、I/O 系统
-
数据结构和算法
链表、栈、队列、树、哈希表、排序算法
掌握 Linux 系统编程接口和常用工具。
-
Linux 系统编程
文件 I/O、进程控制、信号、管道、共享内存
-
网络编程
Socket、TCP/UDP、非阻塞 I/O、epoll
-
多线程编程
pthread、互斥锁、条件变量、原子操作
-
Makefile 和 CMake
编译构建、静态库和动态库
-
调试工具
GDB 调试、Valgrind 内存检测、strace 系统调用跟踪
-
性能分析
perf、gprof、火焰图
掌握现代系统编程语言,提升安全性和开发效率。
-
C++ 核心
类、继承、多态、RAII、智能指针、移动语义
-
C++ STL
容器、算法、迭代器、函数对象
-
C++ 进阶
模板元编程、Lambda、并发(std::thread)
-
Rust 核心
所有权、借用、生命周期、Trait、模式匹配
-
Rust 进阶
异步编程(async/await)、宏、FFI
-
Rust 系统开发
无标准库开发(no_std)、嵌入式 Rust
深入内核开发或嵌入式系统开发。
-
Linux 内核基础
内核模块开发、设备驱动、内核数据结构
-
内存管理
页表、虚拟内存、内存分配器
-
嵌入式系统
交叉编译、裸机编程、RTOS
-
Zig 语言
编译期计算、无宏、与 C 互操作
-
WebAssembly
WASI、Wasm 系统接口、Edge 计算
-
实战项目
实现一个迷你操作系统或文件系统
🚀 练手项目
- 🖥️ 实现一个简单的 Shell 解释器
- 📡 实现一个简单的 HTTP 服务器(C 语言)
- 🧵 实现一个线程池(C++)
- 🦀 用 Rust 实现一个键值存储引擎
- 💻 实现一个简单的操作系统内核