如何判断linux 文件(或lib)是由uclibc还是glibc编译出来的?

工作中使用的编译环境有2套编译器,一个是glibc,一个是uclibc。

有些项目使用的glibc编译的lib,和使用uclibc编译的工程,在一起就会出现reference的编译错误如下:

那和如何来判断一个文件是由哪个编译器编译的呢?

试了几个方法,file 不行, objdump 也不行。 可以的命令如下:

strings -a libpcap.so.1.9.1 | grep -i uclibc

可以看到,使用这个命令,如果这个lib是由 uclibc 编译的,会类似grep出一些字串。

而如果这个lib是由 glibc 编译出来的,就不会grep任何的信息

灵活运用strings命令可以完成其他的功能,之前看的帖子给的例子是看编译器版本的

strings -a program_name | grep -i gcc

我改动之后可以完成我的需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔尊moon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值