瞄一眼底层_程序员的自我修养书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > > 程序员的自我修养 > 瞄一眼底层
银光 程序员的自我修养 的书评 发表时间:2014-07-09 01:07:18

瞄一眼底层

拖了很久,终于浏览了一遍,之前没读完,在于这书太多Linux的内容,而我之前只玩Windows编程,读起来不容易。

四年前刚买到时读这本书的一两章,主要学到了两点:1、“计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决。”;2、Singleton Double Check。然后再看其它Windows相关的章节,就觉得平淡无奇了,PE文件,包括重定位表在罗云彬《琢石成器》一书上介绍得更全面(虽然我现在忘干净了-,-);DLL的各种细节知识、windows函数调用堆栈、调用约定那时候我都已经了解到了,所以后来就把这书放一边。直到最近因为学习Linux才重新拿起来。

再看,发觉以前漏掉的知识点:1、memory barrier,书里只是提了一下,到网络上找详细的资料,很有内容的知识点;2、分层思想的各种案例;3、CRT的堆是一个通用的内存池。

还有新知识:Linux的ELF格式,对应Windows的PE格式;Linux共享库的GOT、PLT、装载重定位;Linux的共享库版本;glibc是Linux版本的C运行时库,C++全局对象的构造、析构由GCC实现,Linux跟Windows共有功能在运行时库上有实现,Linux个性化的功能则需要使用系统调用。

静态库、动态库的磁盘布局、内存布局,没有细看,都是一些结构体,有需要时再查查。围绕main函数展开的知识,这块算是比较完善的复习,值得读读;p356介绍为什么要使用_beginthreadex函数而不使用CreateThread创建新线程,这块核心编程也有介绍到,复习;mini CRT(++)的实现很简洁可学,不错的例子。

有两处笔误,都是Windows下的,
p288 图下方这一段的内容,说到函数返回地址、参数1、参数2,应该都是ebp+XX,而不是减XX;一般局部变量是ebp减,参数是ebp加。
p296 图10-11在“Push1”之后,栈的内容应该是3在高处1在低处;

总的来说,这本书是很好的科普,了解到一些平常用不到的背后故事。

展开全文
有用 0 无用 0

您对该书评有什么想说的?

发 表

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读