ldd - print shared library dependencies 打印共享库依赖,是一个shell脚本,其实质是通过ld-linux.so来实现的
常用参数及说明:更多详细信息可以参考man ldd页面
-v:verbose 打印所有的信息
ld-linux.so -dynamic linker/loader 动态链接器、加载器
/lib/ld-linux.so.* [OPTIONS] [POGRAM [ARGUMENTS] ]
常用选项及说明可以参考man ld-linux.so页面,可以查看另外一篇关于“The GNU linker”的博文得到一些关于搜索动态库的顺序知识
变量说明:更多详细变量信息可以参考man ld-linux.so页面
LD_TRACE_LOADED_OBJECT:(ELF文件有效)executable link format 假如设置成非空,当执行ELF程序是将不会执行,而列出该程序的动态库依赖
ldconfig - configure dynamic linker run-time bindings配置动态链接器运行时绑定,将动态库加载到高速缓存当中
常用参数及说明:更多详细信息可以参考man ldconfig页面
-f:接配置文件,使用配置文件代替默认配置文件/etc/ld.so.conf
-c:接cache,使用cache文件代替默认的cache文件/etc/ld.so.cache
-p:打印动态库信息(在现在cache中的)
ldconfig加载动态库到高速缓存中的过程:
- 把需要的目录加入到/etc/ld.so.conf配置文件里面
- 执行ldconfig
- 同时将数据记录一份到/etc/ld.so.cache这个文件中