'ldd' 报告为“不是动态可执行文件”的文件是否依赖于其他库?

Jas*_*son 9 shared-library compiling

只是确保我做对了 - 我打电话

ldd /path/to/executable
Run Code Online (Sandbox Code Playgroud)

它返回“不是动态可执行文件”。这意味着它不依赖于其他库,对吗?如果是这样,是否意味着它可以转移到另一个 Ubuntu 盒子而无需担心依赖关系?

Eri*_*lho 3

正确,但有一些事情需要考虑。

ldd联机帮助页:

ldd 不适用于 a.out 共享库。

ldd 不适用于一些非常旧的 a.out 程序,这些程序是在 ldd 支持添加到编译器版本之前构建的。如果您在这些程序之一上使用 ldd,该程序将尝试使用 argc = 0 运行,结果将是不可预测的。

  • 另一个原因可能是二进制文件是为 32 位系统构建的,但您在 64 位系统上检查它。 (3认同)