Linux使用ldd命令查看程序调用了哪些动态库

Linux使用ldd命令查看程序调用了哪些动态库,第1张

名称 ldd - 打印共享库的依赖关系

大纲 ldd [选项]... 文件...

描述 ldd 输出在命令行上指定的每个程序或共享库需要的共享库。

选项

--version

打印ldd的版本号

-v --verbose

打印所有信息,例如包括符号的版本信息

-d --data-relocs

执行符号重部署,并报告缺少的目标对象(只对ELF格式适用)

-r --function-relocs

对目标对象和函数执行重新部署,并报告缺少的目标对象和函数(只对ELF格式适用)

--help 用法信息

或者看看《linux就该这么学》,具体关于这一章地址3w(dot)linuxprobe/chapter-02(dot)html.

ldd是GNU编译套件的基包,位于Glibc内,Glibc是C的运行库,它在不同的发行版有不同的包名称,Redhat/Fedora 发行版叫作glibc-common,在debain/ubuntu中就叫glibc,archlinux的包名也是叫glibc。

使用ldd命令,可以查看程序使用的动态共享库文件:

比如查询amixer使用的动态共享库文件:

ldd /usr/bin/amixer

linux-vdso.so.1 => (0x00007ffcab5ad000)

libm.so.6 =>/lib/x86_64-linux-gnu/libm.so.6 (0x00007fd7317f0000)

libasound.so.2 =>/usr/lib/x86_64-linux-gnu/libasound.so.2 (0x00007fd731500000)

libc.so.6 =>/lib/x86_64-linux-gnu/libc.so.6 (0x00007fd73113b000)

libdl.so.2 =>/lib/x86_64-linux-gnu/libdl.so.2 (0x00007fd730f37000)

libpthread.so.0 =>/lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fd730d19000)

librt.so.1 =>/lib/x86_64-linux-gnu/librt.so.1 (0x00007fd730b11000)

/lib64/ld-linux-x86-64.so.2 (0x00007fd731af6000)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7244938.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存