章节目录
1 Introduction 1 1.1 Literate Programs 2 1.2 Programming Style 8 1.3 Efficiency 11 Further Reading 12 Exercises 13 2 Interfaces and Implementations 15 2.1 Interfaces 15 2.2 Implementations 18 2.3 Abstract Data Types 21 2.4 Client Responsibilities 24 2.5 Efficiency 30 Further Reading 30 Exercises 31 3 Atoms 33 3.1 Interface 33 3.2 Implementation 34 Further Reading 42 4 Exceptions and Assertions 45 4.1 Interface 47 .4.2 Implementation 53 4.3 Assertions 59 Further Reading 63 Exercises 64 5 Memory Management 67 5.1 Interface 69 5.2 Production Implementation 73 5.3 Checking Implementation 76 Further Reading 85 Exercises 86 6 More Memory Management 89 6.1 Interface 90 6.2 Implementation 92 Further Reading 98 Exercises 100 7 Lists 103 7.1 Interface 103 7.2 Implementation 108 Further Reading 113 Exercises 114 8 Tables 115 8.1 Interface 115 8.2 Example: Word Frequencies 118 8.3 Implementation 12 5 Further Reading 132 Exercises 133 9 Sets 137 9.1 Interface 138 9.2 Example: Cross-Reference Listings 140 9.3 Implementation 148 9.3.1 Member Operations 150 9.3.2 Set Operations 154 Further Reading 158 Exercises 158 10 Dynamic Arrays 10.1 Interfaces 162 10.2 Implementation 165 Further Reading 169 Exercises 169 11 Sequences 171 11.1 Interface 171 11.2 Implementation 174 Further Reading 180 Exercises 180 12 Rings 183 12.1 Interface 183 12.2 Implementation 187 Further Reading 196 Exercises 197 13 Bit Vectors 199 13.1 Interface 199 13.2 Implementation 202 13.2.1 Member Operations 204 13.2.2 Comparisons 209 13.2.3 Set Operations 211 Further Reading 213 Exercises 21314 Formatting 215 14.1 Interface 216 14.1.1 Formatting Functions 216 14.1.2 Conversion Functions 219 14.2 Implementation 224 14.2.1 Formatting Functions 225 14.2.2 Conversion Functions 232 Further Reading 238 Exercises 239 15 Low-LevelStrings 241 15.1 Interface 243 15.2 Example: Printing Identifiers 249 15.3 Implementation 251 15.3.1 String Operations 252 15.3.2 Analyzing Strings 258 15.3.3 Conversion Functions 263 Further Reading 264 Exercises 265 16 High-LevelStrings 269 16.1 Interface 269 16.2 Implementation 276 16.2.1 String Operations 281 16.2.2 Memory Management 285 16.2.3 Analyzing Strings 288 16.2.4 Conversion Functions 293 Further Reading 293 Exercises 294 17 Extended-Precision Arithmetic 297 17.1 Interface 297 17.2 Implementation 303 17.2.1 Addition and Subtraction 305 17.2.2 Multiplication 307 17.2.3 Division and Comparison 309 17.2.4 Shifting 315 17.2.5 String Conversions 319 Further Reading 321 Exercises 322 18 Arbitrary-Precision Arithmetic 323 18.1 Interface 323 18.2 Example: A Calculator 327 18.3 Implementation 334 18.3.1 Negation and Multiplication 337 18.3.2 Addition and Subtraction 338 18.3.3 Division 342 18.3.4 Exponentiation 343 18.3.5 Comparisons 346 18.3.6 Convenience Functions 347 18.3.7 Shifting 349 18.3.8 String and Integer Conversions 350 Further Reading 353 Exercises 354 19 Multiple-Precision Arithmetic 357 19.1 Interface 358 19.2 Example: Another Calculator 365 19.3 Implementation 373 19.3.1 Conversions 377 19.3.2 Unsigned Arithmetic 380 19.3.3 Signed Arithmetic 383 19.3.4 Convenience Functions 388 19.3.5 Comparisons and Logical Operations 395 19.3.6 String Conversions 399 Further Reading 402 Exercises 402 20 Threads 405 20.1 Interfaces 408 20.1.1 Threads 409 20.1.2 General Semaphores 413 20.1.3 Synchronous Communication Channels 417 20.2 Examples 418 20.2.1 Sorting Concurrently 418 20.2.2 Critical Regions 423 20.2.3 Generating Primes 426 20.3 Implementations 431 20.3.1 Synchronous Communication Channels 431 20.3.2 Threads 434 20.3.3 Thread Creation and Context-Switching 446 20.3.4 Preemption 454 20.3.5 General Semaphores 457 20.3.6 Context-Switching on the MIPS and ALPHA 459 Further Reading 463 Exercises 465 Interface Summary 469 Bibliography 497 Index 505
内容简介
可重用的软件模块是构建大规模可靠应用程序的基石,创建可重用的软件模块是每个程序员和项目经理必须掌握的技能。C语言对创建可重用的API提供的语言和功能支持非常少,虽然C程序员写应用时都会用到API和库,但却很少有人去创建和发布新的能广泛应用的API。本书介绍用一种基于接口的设计方法创建可重用的API,这一方法将接口与实现分离开来,且与语言无关。书中详细描述了24个接口及其实现,便于读者深入了解此方法。这些接口涉及很多计算机领域的知识,包括数据结构、算法、字符串处理和并发程序。 本书是C语言领域的的经典名著,出版十余年仍畅销不衰,是几代程序员倍加推崇的力作。
下载说明
1、C语言接口与实现是作者(美)David R. Hanson创作的原创作品,下载链接均为网友上传的网盘链接!
2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!
下载链接
热门评论
-
xyCodeFarmer的评论C语言接口与实现的作者做的那个list太挫了!我不敢苟同链表要在链表头插入,pop函数的实现更是坑爹,使一个指针的值指向一个要被释放的节点。 代码看图片
-
mlzboy的评论c语言接口与实现+创建可重用软件的技术-当当网 网页链接
-
SmartWind_连远坤的评论【好书推荐】【C语言接口与实现】新书到咯,共享一下
-
ZLG-周立功的评论(1)给初学者介绍一本好书:"C语言接口与实现--创建可重用软件的技术"(人民邮电),这是一本从C语言成为高手的必读之作,书重描述的各种技术具有很强的工程价值且在大学课堂是学不到的。可重用的软件是构建大规模可靠应用程序的基石,创建可重用的软件模块也是每个程序员和项目经历必须掌握的技能
-
伯诩的评论必须再读读《c语言接口与实现》了,发现自己写代码越来越烂。。。
-
无锋之刃的评论@图灵谢工 图灵年终活动的图书确认收到了!《C语言接口与实现》
-
异步社区郭志敏的评论《C语言接口与实现》达不到起印要求,不能印刷,面临绝版,为何C的书这么惨?这书是不好吗?不适合程序员阅读?真切希望得到你们的答案,如果大家都认为这书不行,那么也许不久的明天,市场上便再无此书了。[泪]