立即注册

ekn

2019人工智能创新平台招新仅注册用户才可以浏览全站
查看: 1777|回复: 0

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

[复制链接]

12

主题

16

帖子

133

积分

版主

Rank: 7Rank: 7Rank: 7

积分
133
发表于 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



回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|ekn

GMT+8, 2024-5-19 00:39 , Processed in 0.013748 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表