當我們遷至64位版本Windows系統后,就會發現此時有兩個獨立的 Program Files文件夾,從直覺上這并不難理解;而且發現此時還有兩個獨立的存放可執行文件和DLL庫的系統文件夾,它們分別是System32與 SysWOW64,但是System32中放的是64位文件,而SysWOW64放的竟然是32位文件!這真是匪夷所思??!
我們早都知道,System32目錄中存放著Windows系統文件,包括程序調用的DLL庫文件以及我們在Windows常常會用到各種命令工具的.EXE文件,當然還包括一些第三方程序軟件及其DLL文件。用戶自行安裝的應用程序主要是在Program Files文件夾,而這些應用通常是將系統級庫文件存于System32文件夾。
在64位版本Windows中,會用文件夾“C:Program Files”存放64位的程序文件,而用“C:Program Files(x86)”文件夾存放32位程序文件,這并不難理解,因為64位的程序需要調用64位的DLL文件,而32位程序需要調用32位DLL文件。否則就會讓程序無法運行。
但并非所有DLL文件都會放進Program Files。不僅Windows本身會將自己的系統庫放入“C:System32”,而且另外安裝的一些程序也會將庫文件駐留此處,所以這就要求Windows像分離32位與64位的Program Files文件夾那樣,也需要有能夠分離32位與64位的System32文件夾。
在以往傳統的32位機器上,所有32位程序都將其文件存放在“C:Program Files”,系 統 庫 則 放 入“C:System32”。而在現代64位機上,64位程序則將其文件存放在“C:Program Files”,其64位庫文件則放入“?C:WindowsSystem32”;32位程序會將其文件存入“C:Program Files (x86)”,其32位庫文件則會放入文件夾“C: WindowsSysWOW64”之中。這聽起來非常矛盾,但是從Windows系統看并無大礙,因為需要用戶自己選擇路徑去存放DLL文件的情形非常罕見。
其實 “WOW64”名稱或許就暗示在Windows 64-bit之上的Windows 32-bit軟件。例如,當用戶在64位Windows系統上安裝32位……