Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

进阶

进阶部分内容正在编写中,敬请期待。

本部分将涵盖以下主题:

  • 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 为代表的启动期注册思路,通常依赖链接器或编译器扩展
  • 实战项目:项目待定