读书笔记 2018-5-15

  这段时间老师减少了读书比较的提交频率,也算是得到了一段较为宽裕的时间,借此机会,继续去阅读了《程序员的自我修养》这本书。整体来说,我觉得书中的一句话真的是高度概括了全书的内容,即“这本书一步步的剖析了一个程序的前世今生,从代码的编译,到链接,到运行时虚拟空间物理空间的映射,到内存的分配,无不一一展开,还原一个程序本来的面目。”

  实际上来讲,读这本书的过程并不算多么轻松,完全没有让我一口气读完的欲望,但还是在很大程度上让基础薄弱的我了解了不少想了解的东西。比起这本书有点故弄玄虚的主标题来,其副标题,《链接、装载与库》更为直接,实际上也是,这本书从实例出发来剖析链接、装载和库的问题,讲得十分的明白。省去了自己读系统代码的麻烦,看完以后有种“原来是这样啊”、“终于知道为什么了”的感觉。书中讨论的底层知识看似与平时工作关系不大,但我觉得这些知识是要懂的,因为一个程序员一定要知道自己的程序实际运行中都干了什么。知道了一行高级语言的代码会对应怎样的汇编代码,还知道它在特定计算机体系结构上运行的效果,才能写对程序,写好程序。运用底层语言思想编写高级语言程序,这才是脚踏实地!如果非要问,了解链接、装载和库的原理与实际工作有什么联系,我恐怕仍然答不上来。然而读完此书后,读者就能够从另一个角度看待编译、链接、运行的过程。我相信这种能看穿系统底层的视角对将来的编程、调试、优化、排错、部署的实践都会很有用,也满足了自己的好奇心。

  最后不得不说,这本书里的东西能够用到么?很难,真的是很难用到。没有学过操作系统和编译原理的我,对于这本书的很大一部分也只是知道有这么回事而已。也希望以后能够更加深入的去了解,去学习这些原本不知道的事情。

原文地址:https://www.cnblogs.com/aiyz/p/9049572.html