《C语言接口和实现详解》一书深入剖析了C语言编程中的接口设计与代码实现技巧,适合希望提升软件架构能力的进阶开发者阅读。
在C语言接口方面网上资料很少,所以我花了大量时间整理了下面的文字希望得到大家的认可:
当前程序员面临着海量的应用程序接口(API)的信息,并且大多数人都会使用API与库函数,在他们编写的每一个应用程序中实现它们,但很少有人创建或发布新的广泛应用的API。或许是因为编写特定应用代码比寻找设计好的API更简单。
这里提到的是基于接口和其实现的设计方法,通过详细描述24个接口及其实现来展示这种方法的应用范围广泛,涵盖了计算机领域的知识如数据结构、算法、字符串处理及并发程序等。这些实现不是简单的示例——它们是为实际软件开发中使用而设计的。
C语言对基于接口的方法支持较少,但面向对象的语言(例如 C++ 和 Modula-3)鼓励将接口与其实现分离。这种设计独立于特定语言,并要求程序员在像C这样的语言上具备更高的技能和谨慎性,因为这些语言容易导致带有隐含实现信息的接口出现错误。
一旦掌握了基于接口的设计方法,就可以建立服务于多个应用程序的基础通用接口,从而加快开发速度。例如,在一些 C++ 环境中的基础类库就体现了这种效果。增加对现有软件重用——即通过使用已经测试过的通用接口实现来减少初始开发成本和维护成本。这里提到的接口是针对数据结构设计,但重点在于算法引擎——包装数据结构以供应用程序使用。
我将要分享的内容分为以下几部分:
基础
1. 接口与实现
2. 异常与断言
3. 内存管理
4. 进一步内存管理
数据结构
5. 链表
6. 表格
7. 集合
8. 动态数组
9. 序列
10. 环
11. 位向量
字符串
12. 原子
13. 格式化
14. 低级字符串
15. 高级字符串
算法
16. 扩展精度算法
17. 任意精度算法
18. 多精度算法
线程
19. 线程
建议:如果你对C语言还没有完全掌握,我强烈建议先不要看这些内容。