第01章
模块化编程概述
什么是模块化编程 · 模块化优势 · C语言模块化思想 · 模块划分原则
思想入门
第02章
头文件设计原则
头文件作用 · #ifndef/#define/#endif · 头文件内容规范
规范必备
第03章
源文件与头文件分离
.c 和 .h 分工 · 声明与定义分离 · 内外部函数控制
结构核心
第04章
static 关键字深入
static修饰局部/全局变量 · static修饰函数 · 实际应用场景
关键字作用域
第05章
extern 关键字详解
声明外部变量/函数 · extern "C" · 多文件共享全局变量
链接共享
第06章
多文件编译与链接
编译流程 · gcc多文件编译 · Makefile基础 · 链接错误排查
编译工具
第07章
Makefile 入门
基本语法 · 目标与依赖 · 变量使用 · 伪目标 .PHONY
构建自动化
第08章
Makefile 进阶
自动变量 $@ $^ $< · 模式规则 · 函数使用 · 多目录
进阶工程
第09章
CMake 入门
基本语法 · CMakeLists.txt · 构建与编译 · 跨平台支持
CMake现代
第10章
CMake 进阶
库构建与链接 · find_package · 自定义选项 · 安装打包
进阶库管理
第11章
模块化类型设计
typedef · 结构体模块间传递 · 不透明指针模式
类型封装
第12章
接口与实现分离
抽象接口 · 回调函数 · 函数指针接口 · 模块解耦
接口解耦
第13章
模块化错误处理
错误码设计 · errno机制 · assert · 日志模块设计
健壮性调试
第14章
模块化内存管理
内存封装 · 泄漏检测 · 内存池 · RAII思想在C中实现
内存性能
第15章
配置管理模块
配置文件解析 · 编译/运行时配置 · #ifdef条件编译
配置灵活
第16章
模块化测试策略
单元测试框架(CUnit/Unity) · 测试用例 · Mock · 覆盖率
测试质量
第17章
文档生成 Doxygen
注释规范 · 文档生成流程 · API文档 · 代码示例嵌入
文档规范
第18章
版本管理实践
语义化版本 · Changelog · Git Tag · 分支策略
版本协作
第19章
代码规范与格式化
命名规范 · clang-format · 代码审查清单
风格整洁
第20章
静态分析工具
Cppcheck/Clang Static Analyzer · 警告处理 · 质量度量
静态分析安全
第21章
动态分析工具
Valgrind · AddressSanitizer · gprof · 运行时行为分析
动态性能
第22章
设计模式C语言实现
单例模式 · 工厂模式 · 观察者模式 · 状态机模式
模式架构
第23章
数据结构封装
动态数组 · 链表 · 哈希表 · 树模块
数据结构复用
第24章
算法模块化
排序封装 · 查找封装 · 字符串处理 · 数学工具
算法工具
第25章
网络模块设计
Socket封装 · 协议解析 · 连接池 · 异步I/O模型
网络通信
第26章
文件系统操作
文件读写封装 · 目录遍历 · 配置文件 · 日志文件
文件IO
第27章
多线程模块
线程封装 · 互斥锁/条件变量 · 线程池 · 原子操作
并发多线程
第28章
插件系统设计
dlopen/dlsym · 插件接口 · 插件管理器 · 热加载
插件动态
第29章
跨平台兼容
预处理器宏 · 抽象层 · 条件编译 · 跨平台库选择
跨平台移植
第30章
综合实战:智能家居控制系统
需求分析 · 模块划分 · 接口设计 · 代码实现 · 测试部署
实战项目