gpt4 book ai didi

linux - 不同 Linux 发行版中的 ELF 二进制文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:43:06 25 4
gpt4 key购买 nike

如果我有一个在 Ubuntu 中使用 gcc 或 QtCreater 生成的 ELF 二进制文件,这个二进制文件可以在另一个 linux 发行版(例如 RHEL)中执行吗?
(我想纯 CLI 程序可以,但 GUI 程序视情况而定)
32 位二进制文​​件能否在 64 位机器上运行,反之亦然?

最佳答案

是的。 ELF 二进制文件,只要架构兼容,就可以在不同的系统上运行。即32位x86 ELF可以运行在64位x64系统上。

也就是说,这并不意味着您的程序甚至会启动。它仍然需要满足所有运行时依赖性。这特别包括程序使用的每个共享库。如果它们在正在运行的机器中不可用,程序将无法运行。

您可以使用 objdump -p <program | grep NEEDED 检查所需的共享库.如果它们不适用于您的目标系统,您还可以分发 SO 文件并修改 LD_LIBRARY_PATH加载它们。

但即使共享库满足了,也不能保证程序能正常运行。您仍然可能会错过配置文件、字体、系统服务、内核功能......您必须在您打算支持的每个发行版上对其进行测试。

PS:总而言之,这个问题在 CLI 和 GUI 程序之间在概念上没有区别。只是 GUI 程序往往有更多的依赖关系......

关于linux - 不同 Linux 发行版中的 ELF 二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40562071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com