代码之家  ›  专栏  ›  技术社区  ›  Alex

在64位Windows上安装32位或64位应用程序有什么区别?

  •  15
  • Alex  · 技术社区  · 14 年前

    显然,你可以在64位Windows系统(Vista或7)上安装32位和64位编译的应用程序。

    两个版本都能在64位操作系统上运行的原因是什么?在64位操作系统上安装64位应用程序是好的做法吗?将32位应用程序与64位操作系统相结合有什么优点/缺点吗?

    谢谢!

    5 回复  |  直到 14 年前
        1
  •  21
  •   Michael Borgwardt    14 年前

    两个版本都能在64位操作系统上运行的原因是什么?

    如果操作系统不能运行任何旧的(32位)应用程序,就没有人愿意使用它。所以他们不得不想办法。

    在64位操作系统上安装64位应用程序是好的做法吗?

    将32位应用程序与64位操作系统相结合有什么优点/缺点吗?

        2
  •  9
  •   Justin Niessner    14 年前

    64位版本的Windows附带Windows on Windows 64(WOW64)子系统,该子系统允许它运行32位应用程序。整个过程实际上相当复杂,您可以从以下网址阅读:

    How Windows 7 / Vista 64 Support 32 Bit Applications

    如果您有64位操作系统,并且应用程序供应商提供64位版本,请安装它。如果没有,安装32位版本不会有什么影响。

    能够在同一台计算机上组合32位和64位应用程序有一个明显的优势,事实上并非所有供应商都提供其应用程序的64位版本。一个可以同时运行这两个操作系统的操作系统将使您能够访问消费者可以使用的更广泛的软件集。

        3
  •  4
  •   Marcelo Cantos    14 年前

    不是每个程序都有64位版本。

    是的,在可能的情况下,您通常应该使用64位应用程序。

        4
  •  3
  •   darioo    14 年前

    使用架构(如x64)的现代处理器可以执行32位和64位应用程序。

    32位操作系统只能分配4GB内存(2^32=4294967296),而64位操作系统可以分配更多内存(2^64=18446744073709551616)。

    在64位操作系统上安装64位应用程序是一个很好的做法,因为如果您有超过4GB的内存,它们将能够使用您计算机的所有内存。

        5
  •  3
  •   ChrisF    14 年前

    根据实际实现情况,32位应用程序需要在64位操作系统上运行一些特殊处理,而64位应用程序将在64位操作系统上“本机”运行,因此应该运行“更好”(例如,对于“更好”的各种值——访问更多内存)。这种“特殊处理”可能只是运行指令集的一个子集,但它将需要封送处理等。

    所以在有64位版本的程序的地方安装它是有意义的。

    然而,允许32位程序运行是有商业意义的,因为32位应用程序比64位应用程序多得多。随着时间的推移,仍在销售的应用程序将得到升级,未来的Windows版本可能会出现不支持32位程序的情况(就像16位程序已经过时一样)。

    推荐文章