C语言模块化编程与代码复用实战

📚 共计 30 章节
01
模块化编程思想
什么是模块化编程 · 优势 · 高内聚低耦合原则
思想原则
02
头文件的设计艺术
#ifndef/#define/#endif · 头文件内容规范
头文件重复包含
03
源文件的组织
.c/.h职责划分 · 模块文件夹 · 内外部函数
源文件结构
04
静态函数与全局变量
static · 文件作用域 · 模块封装实战
static封装
05
extern 关键字的正确使用
extern 变量/函数 · 多文件链接
extern链接
06
Makefile 基础
规则 · 变量 · 自动推导 · 多模块实战
Makefile构建
07
CMake 入门
CMakeLists.txt · add_executable/add_library
CMake项目管理
08
模块接口设计
清晰接口 · 参数/返回值 · 错误码规范
接口设计
09
回调函数与模块解耦
函数指针 · 注册/触发 · 事件驱动模块
回调解耦
10
抽象数据类型 (ADT)
结构体封装 · 不透明指针 · 动态数组模块
ADT封装
11
模块的初始化与销毁
init/deinit · 资源管理 · 连接池模块
生命周期资源
12
日志模块的设计
日志级别 · 输出接口 · 线程安全
日志调试
13
配置模块的设计
INI/JSON解析 · 集中管理 · 可扩展配置
配置解析
14
错误处理模块
错误码 · 字符串化 · 断言+日志
错误处理断言
15
内存管理模块
内存池 · malloc/free封装 · 泄漏检测
内存
16
链表模块的封装
单向/双向/循环链表 · 通用接口 · 实战
链表通用
17
栈与队列模块
数组/链表栈 · 环形缓冲区 · 任务调度队列
队列
18
哈希表模块
哈希函数 · 链地址/开放地址 · 键值对存储
哈希查找
19
树结构模块
二叉树 · 搜索树 · 红黑树实战
红黑树
20
排序算法模块化
抽象接口 · 多算法实现 · 性能对比
排序算法
21
字符串处理模块
拼接/分割/查找/替换 · 安全操作
字符串安全
22
时间与日期模块
时间戳 · 格式化 · 定时器设计
时间定时器
23
文件操作模块
打开/关闭/读写封装 · 目录遍历 · 文件锁
文件IO
24
网络通信模块
Socket封装 · TCP/UDP · HTTP请求
网络Socket
25
序列化与反序列化
二进制/JSON序列化 · 通用接口设计
序列化JSON
26
单元测试模块
Unity/CuTest · 测试用例 · 覆盖率
测试单元测试
27
代码复用策略
函数/模块/库复用 · 设计模式应用
复用设计模式
28
静态库与动态库
.a/.so/.dll制作 · 库版本管理
链接
29
大型项目模块划分实战
项目结构 · 依赖图 · 接口文档规范
架构文档
30
综合实战:完整模块化项目
需求→划分→设计→编码→测试→文档
综合全流程