pk1206 发表于 2020-3-28 21:57:24

【书籍推荐】程序员的自我修养——链接、装载与库

如书名副标题所述,本书主要分为三个部分:
1、链接:代码指令是如何保存的,库文件如何与应用程序代码静态链接。
2、装载:应用程序如何被装载到内存中并开始运行,动态链接是如何实现。
3、库:C/C++运行库的工作原理,以及操作系统提供的系统服务是如何被调用的。

本书由浅入深,基于Linux和Windows两个平台,从二进制的角度,逐一向我们揭开这些问题的神秘面纱,而且每一部分都包含了大量的示例。

在一些示例当中,会介绍一些实用的工具(比如binutils)。我觉得会使用这些工具非常的重要,因为这是可以直接应用到生产活动中。比如源代码移植、编译器移植或编译器升级,常常会遇到一些莫名其妙的编译错误,xxx符号找不到;或者运行时错误,SIGSEGV、SIGILL。在阅读完此书后,可以利用这些实用工具,在二进制层面排查错误,效率可以得到极大的提升。

类似的书籍还有:《链接器和加载器》,我稍微看了一下,内容差不多,但是有些旧,而且非常的晦涩。(吐槽一下,旧书的味道好大啊)。《Linux二进制分析》,主要从安全的角度,分析了Linux ELF的工作机制。

电子书下载地址:
https://www.lanzous.com/b015b0qrg
密码:c39m

个人读书笔记:https://github.com/pkemb/notes/blob/master/books/9787121085116/notes.md



页: [1]
查看完整版本: 【书籍推荐】程序员的自我修养——链接、装载与库