C语言接口与实现
出版信息
David R. Hanson / 郭旭 / 人民邮电出版社 / 2011-9 / 75.00元
内容简介
《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