ldd

ldd

打印程序或者库文件所依赖的共享库列表

补充说明

ldd命令 用于打印程序或者库文件所依赖的共享库列表。

语法

ldd(选项)(参数)

选项

--version:打印指令版本号;
-v:详细信息模式,打印所有相关信息;
-u:打印未使用的直接依赖;
-d:执行重定位和报告任何丢失的对象;
-r:执行数据对象和函数的重定位,并且报告任何丢失的对象和函数;
--help:显示帮助信息。

参数

文件:指定可执行程序或者文库。

其他介绍

首先ldd不是一个可执行程序,而只是一个shell脚本

ldd能够显示可执行模块的dependency,其原理是通过设置一系列的环境变量,如下:LD_TRACE_LOADED_OBJECTS、LD_WARN、LD_BIND_NOW、LD_LIBRARY_VERSION、LD_VERBOSE等。当LD_TRACE_LOADED_OBJECTS环境变量不为空时,任何可执行程序在运行时,它都会只显示模块的dependency,而程序并不真正执行。要不你可以在shell终端测试一下,如下:

export LD_TRACE_LOADED_OBJECTS=1

再执行任何的程序,如ls等,看看程序的运行结果。

ldd显示可执行模块的dependency的工作原理,其实质是通过ld-linux.so(elf动态库的装载器)来实现的。我们知道,ld-linux.so模块会先于executable模块程序工作,并获得控制权,因此当上述的那些环境变量被设置时,ld-linux.so选择了显示可执行模块的dependency。

实际上可以直接执行ld-linux.so模块,如:/lib/ld-linux.so.2 --list program(这相当于ldd program)

若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/ldd/

(0)
AuroraAurora站点维系者
上一篇 2023年 12月 19日 下午4:15
下一篇 2023年 12月 19日 下午4:27

相关推荐

  • chgrp

    文章目录chgrp补充说明语法选项参数实例 chgrp 用来变更文件或目录的所属群组 补充说明 chgrp命令 用来改变文件或目录所属的用户组。该命令用来改变指定文件所属的用户组。…

    入门教程 2023年 12月 7日
  • cupsdisable

    文章目录cupsdisable补充说明语法选项参数 cupsdisable 停止指定的打印机 补充说明 cupsdisable命令 用于停止指定的打印机。 语法 cupsdisab…

    入门教程 2023年 12月 7日
  • pkexec

    文章目录pkexec补充说明语法选项返回值示例参考资料 pkexec 以其他用户身份执行命令 补充说明 pkexec 允许授权用户以另一个用户的身份执行 PROGRAM。如果未指定…

    入门教程 2024年 3月 1日
  • get_module

    文章目录get_module补充说明语法实例 get_module 获取Linux内核模块的详细信息 补充说明 get_module命令 用于获取Linux内核模块的详细信息。 语…

    入门教程 2023年 12月 14日
  • Java 流(Stream)、文件(File)和IO

    Java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。 Java.io 包中的流支持很多种格式,比如:基本类型、对象、本地化字符集等等。 一个…

    2023年 3月 4日
  • C++ 注释

    程序的注释是解释性语句,您可以在 C++ 代码中包含注释,这将提高源代码的可读性。所有的编程语言都允许某种形式的注释。 C++ 支持单行注释和多行注释。注释中的所有字符会被 C++…

    2024年 3月 18日
  • HTML 段落

    HTML 可以将文档分割为若干段落。 文章目录HTML 段落实例不要忘记结束标签HTML 折行实例HTML 输出- 使用提醒HTML 标签参考手册 HTML 段落 段落是通过 &l…

    2023年 4月 11日
  • strings

    文章目录strings补充说明语法选项实例 strings 在对象文件或二进制文件中查找可打印的字符串 补充说明 strings命令 在对象文件或二进制文件中查找可打印的字符串。字…

    入门教程 2024年 3月 11日
  • rcp

    文章目录rcp补充说明语法选项参数实例 rcp 使在两台Linux主机之间的文件复制操作更简单 补充说明 rcp命令 使在两台Linux主机之间的文件复制操作更简单。通过适当的配置…

    入门教程 2024年 3月 1日
  • 文章目录包什么是包?为什么使用包?main函数与main包创建自定义包导入自定义包导出名字init 函数使用空指示符 包 上一节:第六篇 函数下一节:第八篇 if else 语句 …

    2023年 12月 5日

发表回复

登录后才能评论
Translate »