【发布时间】:2018-01-08 06:27:48
【问题描述】:
涉及到Windows操作系统,很多东西都使用32这个数字,尤其是Win32。我在系统文件夹的所有内容中都看到了它:
C:\Windows\System32\
到系统文件:
C:\Windows\System32\win32k.sys
到 Windows 应用程序开发:
开发一个 Win32 应用程序
数字 32 和计算机的意义让我想到了 32 位处理器,但是,如果这是正确的,为什么需要明确提及 32 位系统?
谷歌搜索把我带到了 Win32 API。我认为这是它频繁使用的主要原因,但这并没有改变我的问题。 Windows 操作系统在 64 位系统上运行良好。
Windows 是否专门用于 32 位系统?
或者这只是一个历史事件(即 Windows 及其 API 是在 64 位系统出现之前开发的)?
【问题讨论】:
-
@smarx 略过这一点,Win32 随处可见,因为在 32 位上工作的所有东西都在 64 位上工作,反之亦然?
-
@eryksun:API 仍然通常称为 "Win32",以区别于 16 位 API ("Win16 ")。 "Win32" 的引入是对 Windows API 的最后一次重大更改,无论目标体系结构如何,它都称为 "Win32"。 SDK 标头使用
_WIN32来选择API。另一方面,_WIN64用于目标架构。对于 64 位版本,_WIN64和_WIN32均已定义。 -
@IInspectable,好吧,API 的主要参考资料说“以前称为 Win32 API”,这在其他地方也有类似之处,例如 Introduction to Win32/Win64。显然,有许多文档使用“Win32”作为 API 名称,而不是区分 Win16、Win32 和 Win64 的限定词——再加上始终坚持将其称为 Win32 的开发人员和技术作家的文化传统。我不争论事实上的名字。但随着时间的推移,预计会出现使用“Windows API”或“WinAPI”的转变,而不再使用“Win32 API”。
-
将 "System32" 重命名为 "System" 将是一种疯狂的风险,会导致不合理的成本,几乎没有任何好处。像这样的直接举动会破坏如此多的软件,微软当然不会考虑。 @eryksun:除此之外,没有专用的 64 位 API。有Win16和Win32。此外,“转向使用 'Windows API'” 已经进行了十多年。虽然我最初关心自己,但我不再关心了,因为这种转变不会发生。