很多朋友在运行某个软件,特别是一些游戏的时候经常会遇到缺少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文件夹中即可。
2015 年 03 月 29 日 17:18 广东省东莞市 5F
学习
2013 年 07 月 16 日 15:44 台湾省高雄市 4F
可以再問問題嗎?@@ 為什麼要分成32和64呢? 是每個dll都有分嗎?
64位元的dll很難找..
2013 年 07 月 18 日 15:21 开曼群岛 B1
@ 路人 因為有些軟體的32位元和64位元是不同文件,如果把32位元的文件放到64位元反而可能會出錯。
一般早期的dll一般都只有32位元的,比如Directx9,但是一些新的文件,比如VS2010,DotNet 4这些都会有64位的文件
如果你缺什么文件,可以告诉我,我帮你找找看
2013 年 07 月 18 日 16:14 台湾省高雄市 B2
@ 阿斯兰萨拉 了解,缺少的我已經找到了,謝謝啦~
2013 年 07 月 13 日 17:27 四川省成都市 3F
你有毛病啊,上传了文件又设置密码?
2013 年 07 月 15 日 16:52 开曼群岛 B1
@ 博主是我爹 滚你妈的,伸手党还你妈的来劲了,你爹我求你下载了?爱下不下,我愿意设置密码,你妈逼的你管的着吗你?
2013 年 06 月 06 日 20:01 台湾省高雄市 2F
感謝 終於搞懂了 一直在想64位元dll到底要放哪 還有之間關係
2013 年 06 月 07 日 13:47 开曼群岛 B1
@ 路人 欢迎这位台湾的朋友常来逛逛,上次来还是一年前了
2012 年 05 月 14 日 13:28 陕西省西安市 1F
下载下来没法解压,没有密码。