01
库的概念与分类
什么是库 · 静态库 vs 动态库 · 命名规则 · 优缺点对比
基础概念
02
编译与链接基础
预处理/编译/汇编/链接 · 目标文件格式 · 符号表与重定位
编译链接
03
静态库原理与创建
ar工具 · 创建 .a/.lib · 索引与更新
静态库ar
04
静态库的使用与链接
链接顺序 · 常见错误 · main函数集成
链接实战
05
静态库实战
数学运算 · 字符串处理 · 多文件组织 · Makefile
项目自动化
06
共享库原理与创建
PIC · fPIC · .so/.dll/.dylib 创建
共享库PIC
07
共享库的链接与加载
ldconfig · LD_LIBRARY_PATH · rpath/runpath
运行时环境
08
动态加载技术
dlopen/dlsym · 插件系统 · 运行时扩展
动态插件
09
共享库版本管理
soname · realname/linkname · ABI 稳定性
版本ABI
10
共享库实战
日志库 · 配置解析 · 插件架构 · 热更新
实战热更新
11
Windows 平台库开发
DLL · __declspec · .def · DllMain
WindowsDLL
12
跨平台库开发
CMake · 条件编译 · 平台抽象层 · 测试
跨平台CMake
13
库的接口设计
头文件设计 · API模式 · 回调 · C/C++混合
接口API
14
库的内部实现
隐藏符号 · visibility · Pimpl · 内联处理
实现封装
15
库的测试与调试
单元测试 · Valgrind/ASan · 日志跟踪 · 性能分析
测试调试
16
库的文档与发布
Doxygen · 版本号 · Conan/vcpkg · 许可证
文档发布
17
C++ 库的特殊问题
名字修饰 · extern "C" · 模板实例化 · 异常边界
C++ABI
18
库的优化技术
LTO · PGO · 内联展开 · 缓存友好
优化LTO
19
库的安全实践
缓冲区防护 · 输入验证 · 符号隐藏 · 安全编译
安全防护
20
大型项目库管理
模块化 · 依赖管理 · 循环依赖 · 构建集成
架构管理
21
库的二进制兼容性
ABI规范 · 数据布局 · 虚函数表 · STL ABI
ABI兼容
22
库的部署与分发
安装路径 · 搜索路径 · 静态vs动态 · 容器化
部署分发
23
库的逆向工程防护
代码混淆 · 反调试 · 完整性校验 · 许可证保护
安全逆向
24
开源库案例分析
libcurl · OpenSSL · Boost · SQLite
开源案例
25
库的国际化支持
字符编码 · 本地化 · Unicode · gettext
i18n编码
26
库的并发与同步
线程安全 · 锁策略 · 原子操作 · 无锁结构
并发同步
27
库的资源管理
内存池 · 文件描述符 · 连接池 · 缓存策略
资源性能
28
库的错误处理
错误码 · 异常安全 · 错误恢复 · 断言日志
错误健壮
29
库的性能基准测试
基准方法 · 微基准 · 吞吐量 · 延迟测试
性能基准
30
库的未来趋势
C++20模块 · WebAssembly · 云原生 · AI辅助
前沿趋势