两天前从同学的书桌上无意间拾起这本书,翻看了前几页,即被他追根溯源的精彩描述吸引,花了两整天的时间,通读完这本书。
这本书正是我一直想要的学习资料。它并不是简单的讲述了某些技术的机理(这是大多数的书籍做的,读者会时常莫名其妙的接收了几个新的机制,而不知道,为什么这样),更是将龙去脉依依列出,让人深入理解其本质。对于刚入门的新手们,这应该算不可多得的好书了。
在读这本书以前,我对 文本中的程序代码 和 它在计算机中实际运行的过程 的关系知之甚少。对于计算机的发展,也是糊里糊涂。之前对编译原理、汇编等知识仅有若隐若现的了解,读了这本书,才感受到这些基础知识对于提高编程效率的重要作用。排除自我膨胀的因素,这本书确实让我这只菜鸟对程序、对计算机的认识上升了一个台阶。
在此,向写书的三位致敬,其中两位还是浙大的学长^^. 下面,简略的列出其中的内容以及我的认识和感悟。
全书分为四大部分,循序渐进的展开了linux及windows下程序的链接、装载和系统库的简单机理的介绍。
第一部分为预备章节,综述了操作系统的一些基础知识。比如 CPU + 内存 + IO 的三大核心,比如 程序运行时的内存管理的分页、分段,以及多线程的安全问题等。那些技术实现并不是冷冰冰的技术点,作者已经用生动的文字,将他们串成了一串。如果你自觉对操作系统的认识零散,通览此部分,对于只是体系的疏导有很好的作用。
第二部分 介绍静态链接。 先对编译器的处理过程(预编译、编译、汇编、链接)做了简明的介绍,之后详细介绍了 我们C编程时,常见的obj目标文件的文件结构(ELF),实现机理,以此为铺垫,阐释了 静态链接的实现方法。
第三部分 是装载与动态链接的介绍,并介绍了linux的共享库的组织以及windows下的dll机制。C和C++作为linux和windows实现的基础,他们是如何发挥其作用的,这里都有描述。(不过可能由于基础不扎实,对于其中动态链接的PIC部分,全局变量的处理问题,我看了好几遍都没太懂的说><...实践最重要,以后自己动手研究)
第四部分 的内容有 程序对内存的使用,运行时库的初步介绍,系统调用与API 和 一个简单运行时库 的实现实践。模块内容相对分散,看过内存部分的介绍后,我对程序的运行过程才有了个真正整体的概念。
入门级的经典
《程序员的自我修养》热门书评
-
平中见奇:程序员提升自己的参考方法
83有用 2无用 Stanley 2009-06-27
老实说,在2002年还在上大学的时候,我把技术类书籍分成了三六九等,从值得看到最不值得看到顺序如下:1. 在美国工作的中国人使用中文编写的书籍:因为作者的眼界相比国内更加宽广,而字里行间流淌着中国人的思维方式,没有理解文化表达方面的障碍,行文相对活泼2. 在美国工作的人使用英文编写的书籍3. 在中国...
-
给每个新手的修养之道
70有用 7无用 你们都是坏人 2009-11-28
如果你是高手,Linux Hacker或者geek,请绕行但如果你是新手如果你曾好奇过windows系统目录下和软件目录下大堆大堆的dll文件是什么如果你曾疑惑过我写下的代码经历的怎样的历程最后怎样到达了内存,编译器每天用,它到底做了什么如果你已经学习或接触了C,汇编,计算机结构,但还是没办法把三者...
-
推荐linux c/c++程序员一读
61有用 1无用 zoufeiyy 2009-05-20
关于《程序员的自我修养》这本书,最初是在和博文的周筠老师MSN上谈起,当时听周老师提及这本书是一本关于链接和装载等系统软件知识的书籍,当时就很感兴趣,因为这方面的书在国内真的见得很少,一方面这种书似乎跟做应用开发的有距离,毕竟如果只是用用C#、Java,似乎没什么必要关心编译器、链接器在做些什么,特...
-
莫等用时再读书
36有用 3无用 云风 2009-06-01
今年二月份拿到这本书的电子稿时,还不是现在这个名字。《程序员的自我修养》这个名字听起来比原来的那个名字感觉好一些,但又让人感觉有点不知所谓。还是副标题直接:《链接、装载与库》。我更愿意接受这样的一个名字,有如那本多年前读过的英文经典:《Linkers & Loaders》。那段时间很忙,一直...
-
something after read
18有用 2无用 veryzhang 2009-11-17
今天花了一天的时间从头到尾翻了一遍, 跳过了那些有X86汇编的部分, 和分析C++ CRT中解构析构的部分, 其他的都读了一遍.读完之后唯一的感觉就是: 此书非读不可, 而且要经常读.毫无疑问作者对于链接, 装载和库这三个方面是有深刻的认识的, 于深度和广度都无可挑剔, 而且组织文字的能力也属上乘,...
书名: 程序员的自我修养
作者:
出版社: 电子工业出版社
副标题: 链接、装载与库
出版年: 2009-4
页数: 459
定价: 65.00
装帧: 平装16开
ISBN: 9787121085116

