总览 (SYNOPSIS)

ldd [-vVdr] program ...

描述 (DESCRIPTION)

ldd 显示 每个 程序 需要 的 共享库 (shared library), 程序名 在 命令行 上 给出.

对于 a.out 程序, ldd 简单的 进行 fork 和 exec 各个 程序, 执行 程序 时 argc 参数 等于零, a.out 的 动态连接器 (dynamic linker) ld.so, 正常情况下 能够 调入 共享库, 注意到 这个 特殊情况, 从而 显示出 依赖关系.

对于 ELF 程序, ldd 设置 适当的 环境变量集, 然后 fork 和 exec 各个 程序. ELF 的 动态连接器, ld-linux.so, 正常情况下 能够 调入 共享库, 注意到 这个 特殊情况, 从而 显示出 依赖关系.

选项 (OPTIONS)

-v
显示 ldd 的 版本号.
-V
显示 动态连接器 ld.so 的 版本号.
-d
进行 重定位(relocation), 而且 报告 缺少的 函数 (仅限于 ELF).
-r
对 数据目标 (data object) 和 函数 进行 重定位, 而且 报告 缺少的 数据目标 (仅限于 ELF).

BUGS

对于 非常 陈旧 的 程序, ldd 可能 无法 工作, 这些 程序 在 ldd 加入 编译器工具 之前 就 连接 好了. 如果 对 这样的 某个 程序 执行 ldd , 该 程序 的 argc = 0, 其 运行结果 无法 预测.

ldd - 显示共享库的依赖情况的更多相关文章

  1. Linux下共享库嵌套依赖问题 (转载)

    转自:http://my.oschina.net/moooofly/blog/506466 问题场景: 动态库 librabbitmq_r.so 内部依赖动态库 libevent_core.so 和 ...

  2. Android下查看共享库依赖项

    Android下查看共享库依赖项 [时间:2017-02] [状态:Open] [关键词:android,共享库依赖项,so,ndk,objdump,readelf] 起因 近期在处理Android下 ...

  3. Linux 静态库与共享库的使用

    申明: 正如题如示,本篇讲的是Linux下是静态库与共享库,而Window下的动态链接库详细情况可见这篇文章:windows动态链接库 DLL 浅析.虽然原理,思想差不多,但是细节却各有不同. 一.静 ...

  4. 【转】Linux 静态库与共享库的使用

    原文网址:http://blog.csdn.net/heyabo/article/details/11688517 申明: 正如题如示,本篇讲的是Linux下是静态库与共享库,而Window下的动态链 ...

  5. 《CMake实践》笔记三:构建静态库(.a) 与 动态库(.so) 及 如何使用外部共享库和头文件

    <CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...

  6. ldd显示可执行模块的dependenc

    ldd的作用是打印可执行档依赖的共享库文件.它是glibc的一部分,由Roland McGrath和Ulrich Drepper维护:$ ldd --versionldd (GNU libc) 2.9 ...

  7. Linux共享库、静态库、动态库详解

    1. 介绍 使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个“程序函数库”简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数据可以在事后供其他的程序使用.程序函数库 ...

  8. 动态共享库(so)开发精悍教程

    动态共享库(so)开发精悍教程 翻译并根据实际情况进行了小小修改,仅关注Linux下动态共享库(Dynamic shared library .so)的开发. 1 简单的so实例 源文件 //test ...

  9. C语言的本质(35)——共享库

    库用于将相似函数打包在一个单元中.然后这些单元就可为其他开发人员所共享,并因此有了模块化编程这种说法- 即,从模块中构建程序.Linux支持两种类型的库,每一种库都有各自的优缺点.静态库包含在编译时静 ...

随机推荐

  1. Python学习笔记:关于脚本文件中的 if __name__ = '__main__'

    这两天自己写了一个Python脚本文件,但是直接运行这个.py之后发现里面的函数并没有执行,参考别人的代码之后,发现原来要加入以下代码: if name == 'main': 函数名1 函数名2 .. ...

  2. 字符串 kotlin(6)

    字符串用 String 类型表示.字符串是不可变的. 字符串的元素——字符可以使用索引运算符访问: s[i] . 可以用 for 循环迭代字符串: for (c in str) { println(c ...

  3. 【剑指offer38】字符串的排列

    如果没有要求字典序排序,则直接采用递归的思想,将字符串的排列看成两步,第一步,交换第一个字母和任意一个字母(包括自己,但不包括和自己相等的其他字母)固定第一个字母,固定第一个字母,然后对后面的字符串也 ...

  4. vim命令行模式常见快捷方式

    普通模式下的快捷键 快捷键 说明 i insert, 在光标所在处输入 I 在当前光标所在行的行首输入 a append, 在光标所在处后面输入 A 在当前光标所在行的行尾输入 o 在当前光标所在行的 ...

  5. Java-Logger日志

    <转载于--https://www.cnblogs.com/yorickLi/p/6158405.html> Java中关于日志系统的API,在 java.util.logging 包中, ...

  6. PyCharm安装+破解

    PyCharm 是一款功能强大的 Python 编辑器,具有跨平台性,鉴于目前最新版 PyCharm 使用教程较少,为了节约时间,来介绍一下 PyCharm 在 Windows下是如何安装的. 这是 ...

  7. :成功配置 centos + nginx + .net core 2.0

    https://segmentfault.com/a/1190000010763523

  8. Spring 中如何自动创建代理(spring中的三种自动代理创建器)

    Spring 提供了自动代理机制,可以让容器自动生成代理,从而把开发人员从繁琐的配置中解脱出来 . 具体是使用 BeanPostProcessor 来实现这项功能. 这三种自动代理创建器 为:Bean ...

  9. VTK中,定义imread()函数,读取“.vts"文件

    在本程序中,定义了一个imread()函数,用于读取“.vts”文件,第一个参数为文件路径,第二个参数为输出对象,可以输出为tkStructuredGrid型对象,也可以输出为vtkActor型对象. ...

  10. 应用安全 - 平台 | 工具 - Centreon Web - 漏洞 - 汇总

    简介 产地 法国 用途 监控 分布 CVE-2019-16405 https://thecybergeek.co.uk/cves/2019/09/19/CVEs.html