linux readelf 查看库的属性-fPIC和32/64版本以及其他信息

前言

我们经常编译和使用linux版本库,但是当我们有一堆库时,或者某些库出现问题时,我们如何去查看这些库的详细信息呢?总不能去找对应的负责人然后查看相关的编译记录和说明吧,所以我们需要自己能够简单的查看一些信息。


一、readelf是什么?

readelf命令,一般用于查看ELF格式的文件信息,常见的文件如在Linux上的可执行文件,动态库(.so)或者静态库(.a) 等包含ELF格式的文件

二、readelf可以看什么?

readelf很强大,我还没有用到了解它所有的功能。下边我们就先介绍,我会在用到相应的功能之后进行补充:

1、查看库文件是32还是64位;

2、查看库文件是否存在-fPIC选项;(不明白fPIC是什么的建议阅读 程序员的自我修养–链接、装载与库 中 地址无关代码 那一节有详细介绍 ,另外提示:fpic与fPIC是有区别的)

三、readelf功能使用

1、readelf libdest.a -h

这里可以看到库文件是32位库还是64位库

2、readelf --relocs libdest.a | egrep '(GOT|PLT|JU?MP_SLOT)'或readelf -d libdest.so | grep REL

这里如果有输出符号,那么这个库是以fPIC选项编译的;否则,没有fPIC选项

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值