
正文
linuxldd命令 linux ldd命令功能
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
linux源码包怎么查看依赖关系
一、可执行文件/二进制文件依赖共享库
ldd命令用来查看可执行文件依赖linuxldd命令的共享库文件。
$ ldd --help
Usage: ldd [OPTION]... FILE...
--help print this help and exit
--version print version information and exit
-d, --data-relocs process data relocations
-r, --function-relocs process data and function relocations
-u, --unused print unused direct dependencies
-v, --verbose print all information
示例:
$ ldd helloworld
二、共享库依赖共享库关系
上面linuxldd命令的ldd命令无法查看共享库的依赖关系linuxldd命令,因为共享库本身并不是可执行文件,linuxldd命令我们可以使用
objdump -x libhelloworld.so | grep NEEDED
其中,libhelloworld.so是你的库名称。
附:
readelf命令用于读取ELF Header信息
相关问答
Q1: linux的ldd命令是什么意思
用来查看某个可执行文件所依赖的所有动态库的名字及其所在路径。
Q2: Linux使用ldd命令查看程序调用了哪些动态库
名称 ldd - 打印共享库的依赖关系
大纲 ldd [选项]... 文件...
描述 ldd 输出在命令行上指定的每个程序或共享库需要的共享库。
选项
--version
打印ldd的版本号
-v --verbose
打印所有信息linuxldd命令,例如包括符号的版本信息
-d --data-relocs
执行符号重部署linuxldd命令,并报告缺少的目标对象(只对ELF格式适用)
-r --function-relocs
对目标对象和函数执行重新部署,并报告缺少的目标对象和函数(只对ELF格式适用)
--help 用法信息
或者看看《linux就该这么学》,具体关于这一章地址3w(dot)linuxprobe/chapter-02(dot)html.
Q3: 在Red Hat Linux 中程序函数库可以分为哪几种类型? 它们的调用方法各是什么?请说出nm和ldd两个命令的作
1)、在Red Hat Linux中函数库可以分为3种类型linuxldd命令:静态函数库、共享函数库和动态加载函数库。
静态函数库在应用程序编译时就把函数linuxldd命令的执行代码加入到应用程序中。
共享函数库中的函数当一个可执行程序启动时被加载。
动态加载函数库可以在程序运行的任何阶段加载函数。
2)、使用nm和ldd命令可以获得关于库函数的信息。
nm命令可以列出一个函数库文件中的符号表linuxldd命令,它对静态的库函数和共享的库函数都能起作用。
ldd命令可以列出一个程序正常运行所需要的共享库。
3)、库函数缺省存放在/lib和/usr/lib中linuxldd命令,以及动态库配置文件内所列的目录中。
如果库函数没有在这些目录下,可以在中加入所须目录,后运行ldconfig命令,使之生效。或设置环境变量LD_LIBRARY_PATH或LD_PRELOAD加入库函数所存放的目录。
还有不会的请参考《linux就该这么学》,针对各种linux疑难杂症,帮助linux学习者。
Q4: 在linux下qt程序怎么打包
qt程序动态打包步骤
1. 从可运行程序的文件中拿出可执行文件
2. 终端下使用ldd命令查看需要的连接库
例如 ldd + 可执行文件
3. 把ldd查询到的所有需要的库导出
4. 编写.sh文档(.sh文件命名必须与可执行文件名字一样例:可执行文件名 test, .sh 文件名为 test.sh)
.sh文件代码如下:
#!/bin/sh
appname=`basename $0 | sed s,\.sh$,,`
dirname=`dirname $0`
tmp="${dirname#?}"
if [ "${dirname%$tmp}" !="/" ]; then
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname $*
5. 把所用到的库,可执行文件, .sh文件放到同一目录下
6. 终端中进入这一目录,输入:
chmod +x test.sh
7. 执行程序点击.sh文件或者终端输入:
./test.sh
linuxldd命令的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux ldd命令功能、linuxldd命令的信息别忘了在本站进行查找喔。







