C语言接口与实现

David R. Hanson

出版时间

2011-08-31

ISBN

9787115260314

评分

★★★★★

标签

算法

书籍介绍
这本书最打动人的地方,是它把“接口”从“实现”里彻底剥离出来的设计哲学:先定义清楚对外的契约与操作,再回头设计数据与算法。读者反复提到,即便不做面向对象,这种“先定接口、再写程序”的次序也值得遵循——它强迫你在写第一行代码前就想明白边界。书里内存管理两章被公认为最精彩的部分,因为“玩C其实就是玩内存”,作者对分配、稽核的处理近乎工业级强度。但争议同样明显:有人觉得它重点不突出、实用性偏弱,甚至作者自写的代码也存在耦合。它适合愿意反复翻阅、把API设计当作手艺来打磨的人,而非寻求速成手册的读者。
作者简介
David R.Hanson 普林斯顿大学计算机科学系教授,有着二十多年编程语言研究经验。他曾经同贝尔实验室合作开展研究工作,是适用于UNIX系统上的高质量C编译器Icc的开发者之一。另著有A Retargetable C Compiler: Design and Implementation一书。
精彩摘录
  • "List_append: while(*p) p = &(*p)->rest;"
目录
第1 章 引言  1
1.1 文学程序  2
1.2 程序设计风格   6
1.3 效率  8
1.4 扩展阅读  9

显示全部
用户评论
书的写法和组织形式不太好,但是内容还是不错的,五星给内容和Topics。下一步尝试用Sedgewick的风格重写老先生的代码
实用性不强,重点不突出
一度有点觉得是一本说数据结构的书,但其实不是(不是所有的例子都是说数据结构的,甚至应该在数据结构之后再去看),如题所示,是说怎么构建接口与实现的,也就是怎么用.h文件和.c文件安排程序结构。例子都是些挺有用的工具式的API。如果学数据结构的时候能看看这个书,程序就不会显得那么乱了
第一次了解接口与实现
很好的参考书,需要采购一本。
我上课理论学的特差,幸好看了书本在学习,还不错的。
没有想象中精彩,linux和qemu里面都有比书中设计得更好的接口和实现。
书很好,课后习题难度很大,所以就没有去做了。想说关于线程那一章,作者实现的其实是 coroutine ,通过汇编切换栈,而且是 32 位的,Linux ABI 现在已经更新了,所以我用 swapcontext 实现了一个,代码在 https://gitee.com/ylme/recipes/blob/master/book/c-interfaces-and-implementations/thread.c 。
郭旭 翻译的 很差。
电子版;网盘;C;
下载
收藏