readelf——1——环境搭建(编译)

13 篇文章 1 订阅

上一个阶段翻译完了man elf,下面准备学习一下readelf,addr2lime,objdump等elf相关工具。之所以从readelf入手,是因为我感觉它最合适吧,原因也不清楚,因为哪个工具我都谈不上精通,选择一个马上行动才是最重要的。

学习readelf,当然要知道它是从哪里来的。不是这个计划我真的不知道它们这些神秘的神器是来自哪里,linux内核是没有它们源码的。它们都是来自binutils——一套linux工具集,并且它们也仅仅是工具集里binutils文件夹里面的一部分。去binutils下载地址下载。我发现随着版本的更新,工程越来越大,想下载以前的版本试一试能简单一点,然后就下载了binutils-2.7版本。结果在我的电脑上无法编译通过,最后换了最新的binutils-2.32版本,最新的肯定是与主流设备兼任最强的。所以建议读者也使用这个版本。

不要不读README!不要不读README!不要不读README!README是最简洁准确的介绍,它们之所以比较长,是因为功能实在是太多了,已经是最最精炼的介绍文章。看了整个binutils的README后我很自然的去binutils文件夹里看属于binutils自己的README,看完之后开始编译。

编译

离最开始编译已经过去好几天了,但有个问题依然记得,印象还是挺深刻的。在binutils-2.32/binutils/文件夹离直接执行:./configure,再进行make 是不能编译通过的,里面会报找不到XXX.h头文件的错误。我搜索了一下,确实是没有这个头文件。那怎么能编译通过呢?先在上一级目录,也就是binutils-2.32/文件夹下进行./configure和make操作。这个时候binutils/文件夹下面的readelf等工具都已经编译完成。再进行readelf代码修改,改完后在binutils/文件夹下进行make就不会报错了。

抓住重点,分清什么是主要矛盾。编译报错固然是问题,但不是我要学习的重点,把时间和精力放在阅读readelf.c文件上更为重要。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值