
├── 开篇与课程导学
│ ├── 开篇词|时至今日,如何更好地拥抱现代 C 语言?
│ ├── 课前热身|学习这门课前,你需要了解哪些知识?
│ └── 01|快速回顾:一个 C 程序的完整生命周期
│
├── C语言核心语法与程序基础
│ ├── 02|程序基石:数据与量值是如何被组织的?
│ ├── 03|计算单元:运算符是如何工作的?
│ ├── 04|控制逻辑:表达式和语句是如何协调程序运行的?
│ ├── 05|代码封装(上):函数是如何被调用的?
│ ├── 06|代码封装(下):函数是如何被调用的?
│ ├── 07|整合数据:枚举、结构与联合是如何实现的?
│ └── 08|操控资源:指针是如何灵活使用内存的?
│
├── 编译与程序运行原理
│ ├── 09|编译准备:预处理器是怎样处理程序代码的?
│ ├── 大咖助阵|海纳:C 语言是如何编译执行的?(一)
│ ├── 大咖助阵|海纳:C 语言是如何编译执行的?(二)
│ ├── 大咖助阵|海纳:C 语言是如何编译执行的?(三)
│ ├── 25|可执行二进制文件里有什么?
│ ├── 27|编译器在链接程序时发生了什么?
│ ├── 28|程序可以在运行时进行链接吗?
│ ├── 29|C 程序的入口真的是 main 函数吗?
│ ├── 30|ABI 与 API 究竟有什么区别?
│ └── 31|程序如何与操作系统交互?
│
├── C标准库与系统编程
│ ├── 10|标准库:字符、字符串处理与数学计算
│ ├── 11|标准库:深入理解标准 IO
│ ├── 12|标准库:非本地跳转与可变参数是怎样实现的?
│ ├── 13|标准库:你需要了解的 C 并发编程基础知识有哪些?
│ ├── 14|标准库:如何使用互斥量等技术协调线程运行?
│ ├── 15|标准库:信号与操作系统软中断有什么关系?
│ ├── 16|标准库:日期、时间与实用函数
│ └── 17|标准库:断言、错误处理与对齐
│
├── C程序工程化与性能优化
│ ├── 18|极致优化(上):如何实现高性能的 C 程序?
│ ├── 19|极致优化(下):如何实现高性能的 C 程序?
│ ├── 20|生产加速:C 项目需要考虑的编码规范有哪些?
│ ├── 21|生产加速:如何使用自动化测试确保 C 项目质量?
│ └── 22|生产加速:如何使用结构化编译加速 C 项目构建?
│
├── 实战项目:高性能 HTTP Server
│ ├── 23|实战项目(上):一个简单的高性能 HTTP Server
│ └── 24|实战项目(下):一个简单的高性能 HTTP Server
│
├── C语言高级扩展与专题
│ ├── 春节策划一 – 构建自己的知识体系,让学习的“飞轮”持续转动
│ ├── 春节策划二 – 关于 C 语言,我有这些书籍想推荐给你
│ ├── 春节策划三 – JIT Compilation:一种特殊的程序执行方式
│ ├── 加餐 – 和 C 语言相比,C++ 有哪些不同的语言特性?
│ ├── 大咖助阵|LMOS:为什么说 C 语言是一把瑞士军刀?
│ ├── 大咖助阵|LMOS:用面向对象的思想开发 C 语言程序
│ ├── 大咖助阵|罗剑锋:为什么 NGINX 是 C 编程的经典范本?
│ └── 大咖助阵|Tony Bai:Go 程序员拥抱 C 语言简明指南
│
├── 课程答疑与测试
│ ├── 课堂答疑(一)|前置篇、C 核心语法实现篇问题集锦
│ ├── 课堂答疑(二)|C 工程实战篇问题集锦
│ ├── 期中测试|来检验下你的学习成果吧!
│ └── 期末考试|来赴一场满分之约吧!
│
└── 课程结束
└── 结束语|工业 4.0 时代,C 语言还有哪些应用场景?