201得票4回答
确定 Linux 二进制文件的直接共享对象依赖关系?

如何轻松查找Linux二进制ELF格式文件的直接共享对象依赖关系? 我知道ldd工具,但它似乎输出了二进制文件所有的依赖项,包括它所依赖的任何共享对象的依赖项。

186得票9回答
CentOS 64位不良ELF解释器

我刚刚安装了CentOS 6的64位版本,现在想在这个64位机器上安装32位应用程序,但是出现了如下错误: /lib/ld-linux.so.2: 坏的ELF解释器:没有那个文件或目录 我该如何解决这个问题?

170得票9回答
执行二进制文件时出现“没有这个文件或目录”的错误

我正在Ubuntu 9.10 x86_64上安装一个二进制Linux应用程序。该应用附带了一个旧版本的gzip(1.2.4),它是为一个更旧的内核编译的:$ file gzip gzip: ELF 32-bit LSB executable, Intel 80386, version 1 (...

136得票4回答
我可以更改已经编译的二进制文件中的'rpath'吗?

我有一个旧的可执行文件,虽然它现在还没有被淘汰,但它依赖于一些已从我的环境中删除的库。不过我在某个地方有一些存根库,它仍能正常工作。我想将该可执行文件指向这些存根库。是的,我可以设置LD_LIBRARY_PATH,但这个可执行文件会被许多脚本和用户调用,所以我希望在一个地方修复它。 我没有这...

130得票15回答
运行Node应用程序时出现bcrypt无效的ELF头。

我正在为学校的一个nodejs项目工作。 我无法使用npm安装bcrypt,所以我安装了bcrypt-nodejs,而且昨天该项目运行良好。 但是今天,当我执行“node app”时,我遇到以下错误:/.../node_modules/bcrypt/node_modules/bindings/...

129得票7回答
如何逐步安装GCC,并包含GMP、MPFR、MPC、ELF,但不使用共享库?

我如何分别安装GCC(GNU编译器集合),使用当前版本,使用正确版本的依赖项,不使用包管理器(如yum、rpm、apt、dpkg)和不使用共享库? 通常开发者想要以Typical方式安装GCC,可以使用包管理器(yum、rpm、apt、dpkg、port、brew等)或按照这里的说明操作 (...

117得票11回答
如何使用objdump分解单个函数?

我在我的系统上安装了一个二进制文件,并想查看给定函数的反汇编代码。最好使用objdump,但其他解决方案也可以接受。 从这个问题中,我了解到如果我只知道边界地址,就可以对代码的一部分进行反汇编。从这个答案中,我了解到如何将我的拆分调试符号转换回单个文件。 但是,即使在单个文件上操作,即使反...

111得票7回答
使用GCC的C/C++:将资源文件静态添加到可执行文件或库中

有没有人知道如何使用GCC将任何资源文件静态编译到可执行文件或共享库中? 例如,我想添加永远不会更改的图像文件(如果它们发生变化,我也必须替换文件),并且不希望它们留在文件系统中。 如果这是可能的(我认为这是可能的,因为Windows的Visual C++也可以做到这一点),那么我该如何加载存...

111得票6回答
ELF文件和bin文件有什么区别?

编译器生成的最终图像包含bin文件和扩展式加载程序格式ELF文件,这两者有什么区别,特别是ELF文件的功用。

106得票3回答
如何在Linux上检查ELF文件的数据段内容?

我一直在使用objdump来查看Linux ELF二进制文件中的汇编代码。 有时会通过存储在rodata(只读数据)部分中的跳转表进行间接跳转。 如何让objdump或其他工具显示我这个数据段的内容? 我可以执行程序并在调试器中检查相关地址,但我不想这样做,因为必须以交互方式完成。 最...