√ 每个技术专题都配备大量图、表和代码实例,力求将复杂的机制以简洁的形式表达出来。
√ 提供了一个小巧且跨平台的C/C++运行库MiniCRT,综合展示了与运行库相关的各种技术。
√ 能将程序的编译和运行过程所涉及的各种技术全面地串连起来介绍的,至今尚未有先例。
√ 覆盖Windows和Linux两个平台,详述应用程序在编译、链接和运行时所发生的各种事项。
√ 学习研究他人的代码是枯燥而耗时的,先行者的经验能避免重复劳动,直指经验和关键。
√ 学会编程“易筋经”,可以开发操作系统、编译器,甚至是开发一种新的程序设计语言。
√ 由一个很小很简单的问题或示例入手,层层剥开、深入挖掘,探究每个机制“怎么做”。
√ 务必理解“为什么这样做”,力求深入浅出、图文并茂,尽力把每一步细节呈现给读者。
《程序员的自我修养:链接、装载与库》主要介绍系统软件的运行机制和原理,涉及在Windows和Linux两个系统平台上,一个应用程序在编译、链接和运行时刻所发生的各种事项,包括:代码指令是如何保存的,库文件如何与应用程序代码静态链接,应用程序如何被装载到内存中并开始运行,动态链接如何实现,C/C++运行库的工作原理,以及操作系统提供的系统服务是如何被调用的。每个技术专题都配备了大量图、表和代码实例,力求将复杂的机制以简洁的形式表达出来。本书最后还提供了一个小巧且跨平台的C/C++运行库MiniCRT,综合展示了与运行库相关的各种技术。
《程序员的自我修养:链接、装载与库》对装载、链接和库进行了深入浅出的剖析,并且辅以大量的例子和图表,可以作为计算机软件专业和其他相关专业大学本科高年级学生深入学习系统软件的参考书。同时,还可作为各行业从事软件开发的工程师、研究人员以及其他对系统软件实现机制和技术感兴趣者的自学教材。
这是一本深人阐述链接、装载和库等问题的出色图书,读来让人愉悦,你从巾可以清晰地了解程序的前世今生,彻底理解敲人的代码如何变成程序任系统中运行。通读本书不管对于开发还是trouble shootin9都会很有帮助。建议每一位希望从事系统开发、或希望更实务地理解操作系统和编译器、或不满足于只写代码的出色程序员都拥有这样一本书。
——邹飞,趋势科技(中国)研发中心专业软件要程师
本书从大处着眼,小处着手,以通俗易懂的语言,深入浅出地对系统软件的底层形成机制进行条分缕析,正合药山禅师所谓“高高山顶立,深深海底行”。循着作者的思绪一路走来,有如醍醐灌顶。畅快淋漓。非常高兴有预览此书初稿的宝贵机会,我在浏览书稿和查核相关资料的过程中,学到了很多以前未知或知之不深的内容。
——冯亮,阿里巴巴(中国)网络技术有限公司运维部系统架构师