編碼的世界 / 優質文選 / 財富

DLL文件應該放在哪裏?


2022年7月15日
-   

32位版本的Windows保持16位和32位DLL文件的方式是非常簡單的,但是64位版本的Windows保持64位和32位DLL文件的方式就不這麼簡單了。 對於一個64位系統,微軟創建了一個新的名為SysWOW64的文件夾來存放32位的DLL文件。在64位版本的Windows內,微軟使用WindowsSystem32文件夾做為64位DLL的倉庫,而不是32位DLL文件的。 32位代碼不能默認在64位版本的Windows內運行。為了運行32位的應用程序,Windows使用WOW64 emulator,來讓這些應用程序還認為它們在32位版本的Windows內運行。 當你安裝一個32位的應用程序,安裝向導通過WOW64 emulato運行。這意味著當你安裝一個應用程序,安裝向導並不知道這個程序被安裝到64位版本的Windows內,並且和它運行在32位操作系統一樣把DLL文件寫到WindowsSystem32文件夾裏面。當然,WOW64知道安裝向導通過emulator來運行的32位應用程序。同時也知道64和32位代碼不能混合在一起。所以,WOW64 emulator 給WindowsSysWOW64創建一個別名。這意味著32位應用程序要寫入到WindowsSystem32文件夾或者從WindowsSystem32文件夾讀取,WOW64 emulator都能使其改道到WindowsSysWOW64文件夾。 當然,可以使用函數禁止重定向:Wow64DisableWow64FsRedirection 或恢複重定向:Wow64RevertWow64FsRedirection
http://tieba.baidu.com/p/3337331207

熱門文章