C/C++ Linux 开发教程(GCC + CMake)
C/C++ 是系统编程的基石,GCC 是 Linux 上最广泛使用的编译器,CMake 是事实上的跨平台构建标准。本教程共 30 章,从 C 语言基础到 C++ 现代特性,结合 GCC 编译与 CMake 工程实践,带你掌握 Linux 下的 C/C++ 开发。
🟢 C 语言基础(第 1-10 章)
| 章节 | 标题 | 难度 |
|---|---|---|
| 01 | C 语言简介与 GCC 环境搭建 | 🟢 |
| 02 | 基本类型、运算符与表达式 | 🟢 |
| 03 | 控制流(if/for/while/switch) | 🟢 |
| 04 | 函数与作用域 | 🟢 |
| 05 | 数组与字符串 | 🟢 |
| 06 | 指针基础 | 🟢 |
| 07 | 指针进阶(函数指针/多级指针) | 🟡 |
| 08 | 结构体、联合体与枚举 | 🟡 |
| 09 | 内存管理(malloc/free/栈与堆) | 🟡 |
| 10 | 文件 I/O 与预处理器 | 🟡 |
🟡 C++ 进阶(第 11-20 章)
| 章节 | 标题 | 难度 |
|---|---|---|
| 11 | C++ 基础(类与对象) | 🟡 |
| 12 | 构造函数、析构函数与 RAII | 🟡 |
| 13 | 继承与多态 | 🟡 |
| 14 | 模板与泛型编程 | 🔴 |
| 15 | 标准模板库(STL) | 🟡 |
| 16 | 智能指针与内存管理 | 🟡 |
| 17 | 异常处理 | 🟡 |
| 18 | 现代 C++(C++11/14/17/20) | 🔴 |
| 19 | 多线程编程(std::thread/Mutex/Atomic) | 🔴 |
| 20 | 网络编程基础(Socket/epoll) | 🔴 |
🔴 GCC + CMake 工程实践(第 21-30 章)
| 章节 | 标题 | 难度 |
|---|---|---|
| 21 | GCC 编译详解(优化/警告/调试) | 🟡 |
| 22 | GCC 链接与库(静态库/动态库) | 🟡 |
| 23 | GDB 调试实战 | 🟡 |
| 24 | CMake 基础(add_executable/target_link) | 🟢 |
| 25 | CMake 进阶(函数/宏/Generator Expression) | 🟡 |
| 26 | CMake 包管理(find_package/FetchContent/Conan) | 🟡 |
| 27 | 代码质量(Sanitizer/Valgrind/Clang-Tidy) | 🔴 |
| 28 | 性能分析与优化(perf/gprof/编译器优化) | 🔴 |
| 29 | 跨平台与交叉编译 | 🔴 |
| 30 | 完整项目:构建一个 HTTP 服务器 | 🔴 |
技术栈速查
| 组件 | 工具 |
|---|---|
| 编译器 | GCC 14+ / Clang 18+ |
| 构建系统 | CMake 3.20+ |
| 调试器 | GDB 14+ |
| 内存检测 | Valgrind / AddressSanitizer |
| 代码分析 | Clang-Tidy / Cppcheck |
| 包管理 | Conan 2 / vcpkg |
| 编辑器 | VS Code + C/C++ Extension / CLion |