编辑推荐
C语言接口的参考手册
揭秘C语言编程技巧
剖析全部24个API和8个示例应用的源代码
可重用的软件模块是构建大规模可靠应用程序的基石,创建可重用的软件模块是每个程序员和项目经理必须掌握的技能。C语言对创建可重用的API提供的语言和功能支持非常少,虽然C程序员写应用时都会用到API和库,但却很少有人去创建和发布新的能广泛应用的API。本书介绍用一种基于接口的设计方法创建可重用的API,这一方法将接口与实现分离开来,且与语言无关。书中详细描述了24个接口及其实现,便于读者深入了解此方法。这些接口涉及很多计算机领域的知识,包括数据结构、算法、字符串处理和并发程序。
本书是C语言领域的经典名著,出版十余年仍畅销不衰,是几代程序员倍加推崇的力作。
内容简介
《C语言接口与实现:创建可重用软件的技术》概念清晰、实例详尽,是一本有关设计、实现和有效使用C语言库函数,掌握创建可重用C语言软件模块技术的参考指南。书中提供了大量实例,重在阐述如何用一种与语言无关的方法将接口设计实现独立出来,从而用一种基于接口的设计途径创建可重用的API。
《C语言接口与实现:创建可重用软件的技术》是所有C语言程序员不可多得的好书,也是所有希望掌握可重用软件模块技术的人员的理想参考书,适合各层次的面向对象软件开发人员、系统分析员阅读。
作者简介
David R.Hanson 普林斯顿大学计算机科学系教授,有着二十多年编程语言研究经验。他曾经同贝尔实验室合作开展研究工作,是适用于UNIX系统上的高质量C编译器Icc的开 发者之一。另著有A Retargetable C Compiler: Design and Implementation一书。
目录
第1章 引言 1
1.1 文学程序 2
1.2 程序设计风格 6
1.3 效率 8
1.4 扩展阅读 9
1.5 习题 9
第2章 接口与实现 11
2.1 接口 11
2.2 实现 13
2.3 抽象数据类型 15
2.4 客户程序的职责 17
2.5 效率 21
2.6 扩展阅读 22
2.7 习题 22
第3章 原子 24
3.1 接口 24
3.2 实现 25
3.3 扩展阅读 30
3.4 习题 31
第4章 异常与断言 33
4.1 接口 35
4.2 实现 38
4.3 断言 44
4.4 扩展阅读 46
4.5 习题 47
第5章 内存管理 49
5.1 接口 50
5.2 产品实现 54
5.3 稽核实现 55
5.4 扩展阅读 62
5.5 习题 63
第6章 再谈内存管理 65
6.1 接口 65
6.2 实现 67
6.3 扩展阅读 72
6.4 习题 73
第7章 链表 75
7.1 接口 75
7.2 实现 79
7.3 扩展阅读 83
7.4 习题 83
第8章 表 84
8.1 接口 84
8.2 例子:词频 87
8.3 实现 91
8.4 扩展阅读 97
8.5 习题 97
第9章 集合 99
9.1 接口 99
9.2 例子:交叉引用列表 101
9.3 实现 107
9.3.1 成员操作 109
9.3.2 集合操作 111
9.4 扩展阅读 114
9.5 习题 115
第10章 动态数组 116
10.1 接口 116
10.2 实现 119
10.3 扩展阅读 122
10.4 习题 122
第11章 序列 123
11.1 接口 123
11.2 实现 125
11.3 扩展阅读 129
11.4 习题 129
第12章 环 131
12.1 接口 131
12.2 实现 134
12.3 扩展阅读 141
12.4 习题 141
第13章 位向量 142
13.1 接口 142
13.2 实现 144
13.2.1 成员操作 146
13.2.2 比较 150
13.2.3 集合操作 151
13.3 扩展阅读 152
13.4 习题 153
第14章 格式化 154
14.1 接口 154
14.1.1 格式化函数 155
14.1.2 转换函数 157
14.2 实现 160
14.2.1 格式化函数 161
14.2.2 转换函数 166
14.3 扩展阅读 170
14.4 习题 171
第15章 低级字符串 172
15.1 接口 173
15.2 例子:输出标识符 178
15.3 实现 179
15.3.1 字符串操作 180
15.3.2 分析字符串 184
15.3.3 转换函数 188
15.4 扩展阅读 189
15.5 习题 189
第16章 高级字符串 192
16.1 接口 192
16.2 实现 197
16.2.1 字符串操作 200
16.2.2 内存管理 204
16.2.3 分析字符串 205
16.2.4 转换函数 209
16.3 扩展阅读 210
16.4 习题 210
第17章 扩展精度算术 212
17.1 接口 212
17.2 实现 217
17.2.1 加减法 218
17.2.2 乘法 220
17.2.3 除法和比较 221
17.2.4 移位 226
17.2.5 字符串转换 228
17.3 扩展阅读 230
17.4 习题 230
第18章 任意精度算术 232
18.1 接口 232
18.2 例子:计算器 235
18.3 实现 240
18.3.1 取反和乘法 242
18.3.2 加减法 243
18.3.3 除法 246
18.3.4 取幂 247
18.3.5 比较 249
18.3.6 便捷函数 250
18.3.7 移位 251
18.3.8 与字符串和整数的转换 252
18.4 扩展阅读 254
18.5 习题 255
第19章 多精度算术 257
19.1 接口 257
19.2 例子:另一个计算器 263
19.3 实现 269
19.3.1 转换 272
19.3.2 无符号算术 275
19.3.3 有符号算术 277
19.3.4 便捷函数 280
19.3.5 比较和逻辑操作 285
19.3.6 字符串转换 288
19.4 扩展阅读 290
19.5 习题 291
第20章 线程 292
20.1 接口 294
20.1.1 线程 294
20.1.2 一般信号量 298
20.1.3 同步通信通道 301
20.2 例子 301
20.2.1 并发排序 302
20.2.2 临界区 305
20.2.3 生成素数 307
20.3 实现 311
20.3.1 同步通信通道 311
20.3.2 线程 313
20.3.3 线程创建和上下文切换 322
20.3.4 抢占 328
20.3.5 一般信号量 330
20.3.6 MIPS和ALPHA上的上下文切换 332
20.4 扩展阅读 335
20.5 习题 336
附录A 接口摘要 339
参考书目 363
前言/序言
C语言接口与实现 创建可重用软件的技术 电子书 下载 mobi epub pdf txt