当前位置: 首页 > 面试题库 >

如何列出非本地二进制文件的库依赖关系?

陆飞捷
2023-03-14
问题内容

在针对本机平台进行开发时,我可以使用ldd列出所有共享库(.so文件),这些文件是我构建的二进制可执行文件,将在启动时尝试加载。但是在交叉编译时,我不知道如何获取相同的信息。在ldd不正常的binutils工具,像strip或者ar,可以一起建立gcc了交叉编译,而是,这是一个神秘的shell脚本,显然只能在本地平台上运行。

因此,使用跨目标binutils工具,是否有任何方法可以获取外部二进制文件的动态链接依赖关系列表?


问题答案:

有没有办法获取外来二进制文件的动态链接依赖关系的列表

您可以很容易地列出二进制文件的 直接 依赖关系:

readelf -d a.out | grep NEEDED

 0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]

我知道没有办法递归地继续此操作以获取完整列表(ldd确实如此)。您必须NEEDED手动为每个库重复此过程。



 类似资料:
  • 本文向大家介绍android-gradle 本地二进制依赖,包括了android-gradle 本地二进制依赖的使用技巧和注意事项,需要的朋友参考一下 示例 您可以具有一个jar或多个jar文件的依赖项。 通过一个jar文件,您可以添加: 可以添加一个jar目录进行编译。 编译fileTree(dir: 'libs', include: ['*.jar']行告诉编译系统app/libs/在编译类路

  • 问题内容: 如何轻松找出ELF格式的Linux二进制文件的直接共享对象依赖关系? 我知道ldd工具,但这似乎可以输出二进制文件的所有依赖关系,包括二进制文件所依赖的任何共享对象的依赖关系。 问题答案: 您可以用来浏览ELF标头。将直接依赖项列为部分。

  • 问题内容: 如何判断Python中文件是否是二进制文件(非文本)? 我正在Python中搜索大量文件,并始终在二进制文件中获取匹配项。这使输出看起来异常混乱。 我知道我可以使用,但是我对数据所做的事情超出了grep所允许的范围。 过去,我只会搜索大于的字符,但是类似的字符在现代系统上是不可能做到的。理想情况下,解决方案应该很快。 问题答案: 您还可以使用mimetypes模块: 编译二进制mime

  • 在grails progect中,我想构建一个二进制插件,在每个特定的项目上都可以实现“钩子” 二进制插件结构 THX 法比奥

  • 问题内容: 有没有一种工具可以列出包含JAR中引用的(第三方)类的第三方“软件包”?假设它将从JAR文件定义中识别出什么是“ home”包,并且它将打印出JAR中引用的最高3级的第三方类的标准名称的列表。 目的是我需要找到该JAR文件的Maven依赖项并将其部署为Maven工件。 问题答案: JarAnalyzer: jar文件的依赖项管理实用程序。它的主要目的是遍历目录,解析该目录中的每个jar

  • 我是毕业生的新手,我需要配置我的构建.gradle文件。我正在使用硒网络驱动程序,我有.jar文件列表。我如何将此jar文件作为依赖项包含在我的build.gradle文件中?我有这个.jar在我的包中一个名为lib的文件夹中。我有 }但是我一直有下面的错误: 失败:生成失败,出现异常。 其中:构建文件“/主页/ola/工作区/构建分级”行: 20 出错了:评估根项目“工作区”时出现问题。无法将对