为什么Windows 64位仍然使用user32.dll等文件?

9

我认为在 Windows x64 中,它仍然使用 user32.dll 和一堆其他的 32 位库。为什么没有 user64.dll 呢?


请参阅http://en.wikipedia.org/wiki/Windows_api#Versions。 - Igby Largeman
2
这个问题怎么可能是离题的? - Hans Passant
请勿重复:https://dev59.com/53I_5IYBdhLWcg3wEOvq - CWilson
2个回答

19

C:\Windows\System32\user32.dll 是一个64位的库。
32位版本在 C:\Windows\SysWOW64\user32.dll 中。

他们不能更改任何名称,因为这样做会破坏所有使用硬编码路径的程序。


2

在现代的64位Windows版本出现之前,“user32”、“system32”等名称就已经存在了。这些名称旨在将它们与16位版本区分开来,而不是与64位版本区分开来。在64位Windows上,仍然不是16位,因此仍然是“system32”,“user32”等等。

没有人计划这样做,这只是发生了。


更改dll文件名将创建链接/加载dll的麻烦,需要每次处理具有不同名称的32/64。当程序以32位模式运行时,操作系统仅重定向系统文件夹。 - linquize

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接