进阶
进阶部分内容正在编写中,敬请期待。
本部分将涵盖以下主题:
- CMake进阶使用——创建库和导入库:使用 CMake 创建静态库和动态库,以及如何导入第三方库
- CMake进阶使用——编译参数设置和编译优化:配置编译选项、优化级别、警告参数,理解 Debug/Release 构建
- 函数接口设计:利用
const type *约束只读语义、借助void *实现通用接口,设计出不易误用的 API - goto 的使用:C 语言最具争议的关键字——
goto的语法、陷阱与合理使用场景:错误集中处理、跳出嵌套循环、状态机 - 宏魔法:字符串化(
#)、记号粘贴(##)、可变参数宏、X Macro 等高级用法 - 内存对齐及其应用:理解内存对齐的底层原理,
alignof/alignas的使用及其性能影响 - 柔性数组:C99 柔性数组成员(Flexible Array Member)的语法、内存布局与实战场景
- 非线性数据结构——树:二叉树、二叉搜索树、平衡树(AVL、红黑树)的基本概念与 C 语言实现,二叉堆与优先队列
- 非线性数据结构——图:图的基本概念(有向/无向、加权)、邻接矩阵与邻接表存储方式、深度优先搜索(DFS)与广度优先搜索(BFS)
- C语言面向对象编程:用 C 语言实现面向对象的设计模式——封装、继承与多态
- initcall 风格机制:以 Linux 内核 initcall 为代表的启动期注册思路,通常依赖链接器或编译器扩展
- 实战项目:项目待定