我有一台 32 位机器,我可以使用适用于 64 位处理器的程序吗?

我有一台 32 位机器,我可以使用适用于 64 位处理器的程序吗?

我正在使用一台 32 位机器,但我不得不使用一个相对模糊的语义数据库,该数据库仅有 64 位版本。

我在本地开发环境中运行它的选项有哪些?

目前,当我尝试运行它时,我收到如下错误消息:

cannot execute binary file

当我检查我的机器信息时,我得到了这个:

$ uname -a
Linux slabrams-desktop 2.6.32-29-generic #58-Ubuntu SMP Fri Feb 11 19:00:09 UTC 2011 i686 GNU/Linux

答案1

如果它是编译的二进制文件,并且只有 64 位版本,我认为您就没戏了。您的 32 位处理器无法理解 64 位程序中的二进制指令。也许可以通过某种模拟器来运行它,但我从未见过专门为此设计的模拟器,而且即使有模拟器,它的运行速度也很可能会非常慢。

答案2

如果你的 CPU 支持硬件虚拟化(大多数现代处理器都支持),你可以使用 Virtual Box 在 32 位主机上运行 64 位客户虚拟机(请参阅这里以供参考)。

但是这可能不如在原生 64 位操作系统上运行那么稳定。如果您需要运行 64 位应用程序,我强烈建议您将系统升级到 amd64 Ubuntu 版本。

答案3

如果您安装 64 位内核(使用 32 位库时可以实现),然后为应用程序构建 64 位 chroot 环境,则可以运行 64 位应用程序。好吧,完全虚拟的解决方案可能更简单,但如果您需要直接硬件访问,这是唯一的方法。您可以安装 645 位内核作为附加内核,并使用 kexec 加载它。

相关内容