gpt4 book ai didi

linux - 分发静态链接的 ELF 32 位二进制文​​件 - 它会在所有平台上运行吗?

转载 作者:太空狗 更新时间:2023-10-29 11:11:23 24 4
gpt4 key购买 nike

我的团队已准备好发布我们的 Linux 程序的第一个版本,并希望以最简单的方式(对用户而言)发布。

该程序不需要外部文件,无需安装,并且是静态链接的。

ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.15, not stripped

我的问题是这样的二进制文件是否可以在大多数 Linux 平台(Ubuntu、Redhat、OpenSuse 等)上运行?

我也有点担心它说“for GNU/Linux 2.6.15”的部分,这是否意味着他们需要内核 2.6.15 或更高版本?

最佳答案

不再推荐完全静态链接的程序。

可移植层从内核调用转移到基本库(还记得 pthread desaster 和 LinuxThreads <-> NPTL 线程的问题吗?)。

遵循 LSB 4.0 标准。相信那里提到的库的存在(不幸的是没有那么多)并将所有其他共享库与您的应用程序捆绑在一起。有一个链接器标志 - 我认为它是 -L - 您可以在其中设置一个 ldd 路径,该路径在共享库加载期间优先于所有其他设置,因此您的库总是首先加载。

确保所有库只调用 LSB 批准的 API 函数(或者在 LSB 网站上看看不支持的 LSB API 调用有多严重 - 有时你根本无法避免它并且他们有一个分发列表支持此调用)。

这是交付二进制可执行文件的推荐方式。与 Windows/MacOSX 相比,它在 Linux 上仍然很糟糕。

关于linux - 分发静态链接的 ELF 32 位二进制文​​件 - 它会在所有平台上运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3605064/

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