您有没有想过为什么您的 64 位 Windows 操作系统上有两个不同的程序文件(程序文件和程序文件 (x86))?好吧,通过阅读本文,您将获得这个问题的答案。
早些时候,Windows 操作系统只有 32 位版本。如果您今天仍在使用 32 位 Windows,您会注意到您的计算机上只有一种程序文件。它是“ C:\Program Files ”文件夹。此处提到的 Program Files 文件夹是我们安装和存储程序数据的默认位置。通俗地说,程序将安装在 Program Files 文件夹中。
流行的 64 位 Windows 版本也仅将程序安装到 Program Files 文件夹中。但 64 位版本的 Windows 也支持 32 位程序,微软不希望 32 位和 64 位软件混在同一位置。每当用户在具有 64 位 CPU 的系统上安装任何程序时,它的文件夹通常用于 64 位内容。每当 32 位程序尝试使用 64 位组件时,它将面临许多问题和问题。因此,开发人员对 Windows 所做的事情非常聪明。 Windows 分离并创建了 32 位程序和 64 位程序两个不同的目录。 Program Files 存储所有 64 位程序,Program Files (x86) 存储所有 32 位程序。 x86代表不同的处理器类型,即 286、386、486、586/Pentium。
32位程序通过使用WoW64 (“ W indows 32-bit on W indows 64 -bit
-bit”的缩写)和WinSXS(Windows Side By Side的缩写)在64位Windows版本上运行。当这种情况发生时, WoW64仿真层会将文件的访问从 Program Files 无缝重定向到 Program Files (x86)。每当 32 位应用程序访问 Program Files 目录时,它都会指向 Program Files (x86) 文件夹。 64 位应用程序通常会按原样使用 Program Files 文件夹。
但是,对此的主要解释是 64 位应用程序与 32 位扩展不兼容,反之亦然。因此,如果有人想在同一 Windows 上安装同一应用程序的 32 位版本和 64 位版本,则上述方法大大降低了冲突的可能性。如果我们有两个不同且独立的 Program Files 文件夹,则可以确保 32 位软件不知道 64 位系统的工作,反之亦然。将两种不同类型的软件分开将完全消除 32 位软件尝试意外加载 64 位 DLL 的机会,然后失败并给出错误消息。