x86 / x64 二进制兼容性如何在 Linux 上发挥作用?

x86 / x64 二进制兼容性如何在 Linux 上发挥作用?

在 Windows 上,x64 版本的操作系统可以运行 x86 和 x64 二进制文件。

但是,x86 Windows 只能运行 x86 二进制文件。即使底层 CPU 支持 64 位,它也无法运行 x64 二进制文件。

Linux 上 x86 / x64 二进制兼容性的情况是否相同?或者是否有更多(或更少)的兼容性?

答案1

这取决于GNU/Linux所讨论的发行版,以及是否安装了 32 位兼容性的相关软件包。相关的特征通常被称为“ multilib”。它还取决于Linux内核的支持;编译 Linux 内核时可以禁用对 32 位二进制文​​件的支持。流行版DebianUbuntu发行版都支持32位兼容性,一些以前没有的发行版也添加了它(例如,Arch)。

当然,上述涉及在 64 位内核和支持 64 位的 CPU 上运行 32 位程序。即使 CPU 支持 64 位,Linux 也无法在 32 位内核上运行 64 位应用程序。如果 CPU 不支持 64 位,那么如果不进行仿真,您显然无法运行 64 位应用程序。

相关内容