《C语言接口与实现:创建可重用软件的技术》概念清晰、实例详尽,是一本有关设计、实现和有效使用C语言库函数,掌握创建可重用C语言软件模块技术的参考指南。书中提供了大量实例,重在阐述如何用一种与语言无关的方法将接口设计实现独立出来,从而用一种基于接口的设计途径创建可重用的API。
《C语言接口与实现:创建可重用软件的技术》是所有C语言程序员不可多得的好书,也是所有希望掌握可重用软件模块技术的人员的理想参考书,适合各层次的面向对象软件开发人员、系统分析员阅读。下载地址:
编辑推荐
《C语言接口与实现:创建可重用软件的技术》可重用的软件模块是构建大规模可靠应用程序的基石,创建可重用的软件模块是每个程序员和项目经理必须掌握的技能。C语言对创建可重用的API提供的语言和功能支持非常少,虽然C程序员写应用时都会用到API和库,但却很少有人去创建和发布新的能广泛应用的API。《C语言接口与实现:创建可重用软件的技术》介绍用一种基于接口的设计方法创建可重用的API,这一方法将接口与实现分离开来,且与语言无关。书中详细描述了T24个接口及其实现,便于读者深入了解此方法。这些接口涉及很多计算机领域的知识,包括数据结构、算法、字符串处理和并发程序。
《C语言接口与实现:创建可重用软件的技术》是C语言领域的经典名著,出版十余年仍畅销不衰,是几代程序员倍加推崇的力作。《C语言接口与实现:创建可重用软件的技术》特色:接口描述简单明了,程序员可将此书用作相关接口的参考手册,深入剖析如何将数据结构及其相关算法打包成可重用的模块,分析了全部24个API和8个示例应用的源代码,揭秘了许多鲜有文档的C语言编程技巧。媒体推荐
“至今好像还没人写过关于如何设计、实现和有效使用库函数的指南,Harlsorl的力作填补了这一空白。这是一本可与Software Tools比肩的作品,值得所有的C语言程序员珍藏。”
——W.Richard Steverls已故知名LINIX和网络专家“我向每位C语言程序员推荐这本书。你们早就该重视书中所描述的各种技术了。” ——Normarl RanlSey贝尔实验室研究员“从C语言新手变成高手的必读之作。” ——亚马逊读者评论作者简介
作者:(美国)汉森(David R. Hanson) 译者:郭旭
汉森,David R. Hanson,普林斯顿大学计算机科学系教授,有着二十多年编程语言研究经验。他曾经同贝尔实验室合作开展研究工作,是适用于UNIX系统上的高质量C编译器Icc的开发者之一。另著有A Retargetable C Compiler: Design and Implementation一书。目录
第1章 引言 1
1.1 文学程序 21.2 程序设计风格 61.3 效率 81.4 扩展阅读 91.5 习题 9第2章 接口与实现 112.1 接口 112.2 实现 132.3 抽象数据类型 152.4 客户程序的职责 172.5 效率 212.6 扩展阅读 222.7 习题 22第3章 原子 243.1 接口 243.2 实现 253.3 扩展阅读 303.4 习题 31第4章 异常与断言 334.1 接口 354.2 实现 384.3 断言 444.4 扩展阅读 464.5 习题 47第5章 内存管理 495.1 接口 505.2 产品实现 545.3 稽核实现 555.4 扩展阅读 625.5 习题 63第6章 再谈内存管理 656.1 接口 656.2 实现 676.3 扩展阅读 726.4 习题 73第7章 链表 757.1 接口 757.2 实现 797.3 扩展阅读 837.4 习题 83第8章 表 848.1 接口 848.2 例子:词频 878.3 实现 918.4 扩展阅读 978.5 习题 97第9章 集合 999.1 接口 999.2 例子:交叉引用列表 1019.3 实现 1079.3.1 成员操作 1099.3.2 集合操作 1119.4 扩展阅读 1149.5 习题 115第10章 动态数组 11610.1 接口 11610.2 实现 11910.3 扩展阅读 12210.4 习题 122第11章 序列 12311.1 接口 12311.2 实现 12511.3 扩展阅读 12911.4 习题 129第12章 环 13112.1 接口 13112.2 实现 13412.3 扩展阅读 14112.4 习题 141第13章 位向量 14213.1 接口 14213.2 实现 14413.2.1 成员操作 14613.2.2 比较 15013.2.3 集合操作 15113.3 扩展阅读 15213.4 习题 153第14章 格式化 15414.1 接口 15414.1.1 格式化函数 15514.1.2 转换函数 15714.2 实现 16014.2.1 格式化函数 16114.2.2 转换函数 16614.3 扩展阅读 17014.4 习题 171第15章 低级字符串 17215.1 接口 17315.2 例子:输出标识符 17815.3 实现 17915.3.1 字符串操作 18015.3.2 分析字符串 18415.3.3 转换函数 18815.4 扩展阅读 18915.5 习题 189第16章 高级字符串 19216.1 接口 19216.2 实现 19716.2.1 字符串操作 20016.2.2 内存管理 20416.2.3 分析字符串 20516.2.4 转换函数 20916.3 扩展阅读 21016.4 习题 210第17章 扩展精度算术 21217.1 接口 21217.2 实现 21717.2.1 加减法 21817.2.2 乘法 22017.2.3 除法和比较 22117.2.4 移位 22617.2.5 字符串转换 22817.3 扩展阅读 23017.4 习题 230第18章 任意精度算术 23218.1 接口 23218.2 例子:计算器 23518.3 实现 24018.3.1 取反和乘法 24218.3.2 加减法 24318.3.3 除法 24618.3.4 取幂 24718.3.5 比较 24918.3.6 便捷函数 25018.3.7 移位 25118.3.8 与字符串和整数的转换 25218.4 扩展阅读 25418.5 习题 255第19章 多精度算术 25719.1 接口 25719.2 例子:另一个计算器 26319.3 实现 26919.3.1 转换 27219.3.2 无符号算术 27519.3.3 有符号算术 27719.3.4 便捷函数 28019.3.5 比较和逻辑操作 28519.3.6 字符串转换 28819.4 扩展阅读 29019.5 习题 291第20章 线程 29220.1 接口 29420.1.1 线程 29420.1.2 一般信号量 29820.1.3 同步通信通道 30120.2 例子 30120.2.1 并发排序 30220.2.2 临界区 30520.2.3 生成素数 30720.3 实现 31120.3.1 同步通信通道 31120.3.2 线程 31320.3.3 线程创建和上下文切换 32220.3.4 抢占 32820.3.5 一般信号量 33020.3.6 MIPS和ALPHA上的上下文切换 33220.4 扩展阅读 33520.5 习题 336附录A 接口摘要 339参考书目 363下载地址: