System32和SysWoW64的區別(轉載)

轉載自:https://www.ssdax.com/196.html

很多朋友在運行某個軟件,特別是一些遊戲的時候經常會遇到缺少xxx.dll文件,辛辛苦苦從網上下載了這個文件後,到底放到哪個文件夾中呢?特別是在64位操作系統中,到底是放到System,System32還是Syswow64?

32位的Windows操作系統可以同時運行32位和16位代碼,而64位Windows操作系統可以直接運行64位代碼,同時通過使用WoW64(Windows on Windows 64)也能運行32位代碼。

32位版本的Windows在如何允許32爲和16位代碼並肩運行方面有着很複雜的機制,然而64位版本的Windows就不同了,32位代碼與64位代碼單獨運行,有着兩個Program Files,有着system32和syswow64兩個DLL文件夾,甚至兩個註冊表。

在32位操作系統的Windows文件夾中,SYSTEM和SYSTEM32兩個文件夾,分別用來存放16位和32位的DLL文件。如果按照這個規律,存放64位系統的DLL文件的文件夾應該叫:System64,但實際上存放64位DLL的文件夾依然叫:System32,同時又多了一個SysWow64文件夾現在的軟件大多是32位軟件,所以默認會將DLL文件放到System32文件夾中,而微軟爲了保障兼容性,所以無論是32位還是64位的DLL文件都是放到了System32文件夾中。

那SysWoW64文件夾又是幹什麼用的呢?這是因爲32位軟件並不能在64位系統中直接運行,所以微軟設計了WoW64(Windows-on-Windows 64-bit),通過Wow64.dll、Wow64win.dll、Wow64cpu.dl三個DLL文件進行32位和64位系統的切換來運行32位軟件。所以在64位系統中,DLL複製到System32文件夾中即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章