
课程简介
本课程由奇牛学院倾力打造,是“高级程序员之路”系列的第二期力作,旨在帮助学员从零基础起步,系统掌握C/C++编程语言的核心精髓,并最终具备胜任高级程序员岗位的工程化能力。课程延续了奇牛学院一贯的“实战驱动、深度剖析”教学风格,摒弃浮于表面的语法讲解,深入底层内存模型、编译链接原理、操作系统交互等核心领域,带领学员真正理解C/C++的性能优势与设计哲学。
推荐语言
一、核心语言
-
C语言:C99/C11标准(指针、内存管理、结构体、联合体、位域、预处理、文件IO)
-
C++语言:C++11/14/17/20(面向对象、STL、模板元编程、RAII、移动语义、lambda表达式、并发编程)
二、开发环境与工具
-
操作系统:Linux(Ubuntu/CentOS,课程以Linux开发为主,涵盖Windows开发对比)
-
编译器:gcc/g++(编译选项、优化级别、链接过程)、Clang(可选)
-
构建工具:Makefile、CMake(从入门到项目级配置)
-
调试工具:GDB(断点调试、core dump分析、多线程调试)、Valgrind(内存泄漏检测)
-
性能分析:perf、gprof、AddressSanitizer(ASan)
-
IDE:Visual Studio Code(配置C/C++开发环境)、CLion、Visual Studio(Windows平台)
三、数据结构与算法
-
核心数据结构:数组、链表、栈、队列、哈希表、二叉树(AVL、红黑树)、堆、图
-
经典算法:排序(快排、归并、堆排)、查找(二分、哈希)、动态规划、贪心、回溯
-
算法实践:手写STL核心组件(vector、list、map、string)
四、系统编程与底层
-
内存管理:堆栈原理、内存对齐、内存池实现、智能指针(unique_ptr、shared_ptr、weak_ptr)
-
文件IO:标准IO库、系统调用(open/read/write)、mmap
-
多线程编程:pthread、std::thread、互斥锁(mutex)、条件变量、读写锁、原子操作、无锁编程
-
网络编程:Socket API、TCP/UDP协议、IO多路复用(epoll/select)、Reactor/Proactor模型、高性能网络库实现
-
进程管理:fork/exec、进程间通信(管道、共享内存、消息队列、信号)
五、大型实战项目(贯穿课程)
-
项目一:手写内存池(解决频繁new/delete性能问题)
-
项目二:高性能Web服务器(基于epoll + 线程池 + HTTP协议解析)
-
项目三:分布式存储引擎(类似LevelDB,含LSM Tree实现)
-
项目四:游戏服务器框架(场景管理、消息分发、AOI算法)
-
项目五:STL标准库核心组件重构(vector、list、unordered_map)
六、进阶扩展
-
设计模式:单例、工厂、观察者、策略等(C++实现)
-
模板元编程:SFINAE、类型萃取(type traits)
-
现代C++特性:std::optional、std::variant、std::any、协程(C++20)
-
跨平台开发:Windows/Linux 条件编译、动态库(.so/.dll)与静态库
-
版本控制:Git(分支管理、协作流程)

评论(0)
暂无评论