我有一台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 

如果它是一个已编译的二进制文件,只有一个64位版本,我认为你被卡住了。 32位处理器不会理解64位程序中的二进制指令。 它可能以某种方式通过某种模拟器运行它,但我从未见过一个设计用于执行此操作的程序,如果有的话,它很可能运行得很慢。

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

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

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