我正在开发64位应用程序.可以在32位操作系统上运行64位应用程序吗?

我正在开发64位应用程序.可以在32位操作系统上运行64位应用程序吗?

请注意,该问题是通用的,不是特定于Windows操作系统.实际上,应用程序本身可以跨OS操作.

(我们假设你在谈论AMD64(== EM64T == x86_64),x86分别是64位和32位)

您只能通过仿真(例如qemu)或某些类型的虚拟化(x86处理器)运行AMD64代码(我相信VMWare可能在64位主机操作系统上支持64位客户机操作系统64位
位能力的CPU).不过这意味着我会以模拟或虚拟化的形式运行一个64位的操作系统.

在开发应用程序时,不要太开发32位和64位的代码.

对于Mac,您可以发送一个具有两种类型的代码的单个二进制文件,或者Mac OSX可以在32位内核上运行64位二进制文​​件(仅在具有x86_64功能的处理器上).对于Windows和Linux,您将需要运送单独的安装程序,或者运送一些智能安装程序,以便在安装时选择正确的二进制文件.对于Linux,有一个项目用于在AMD64处理器 – http://linuxpae64.sourceforge.net/上添加在x86内核上运行AMD64代码的功能 – 但它并不像在主线内核那样远.

有没有什么特别的原因,你只想生产64位二进制文​​件?如果要访问额外的内存,那么32位操作系统将无法给你额外的内存.如果要避免测试两个不同的版本,那么只需生成32位版本,它将在Windows AMD64和大多数Linux AMD64发行版上都可以使用.

相关文章
相关标签/搜索