9

我喜欢使用 Win32,即使是在 .Net、MFC 和 touch 的时代。我的同事对我说,在 Windows 的未来版本(Windows 9 之后)中可能无法使用 Win32 API,因为 Microsoft 可能会弃用它。

然而,这对我来说似乎是不可能的,因为 Windows 本身使用了太多的 API。如果他们摆脱低级 Win32 C 库,操作系统本身就会停止工作,他们将不得不重新编写操作系统的大部分内容(更不用说所有会被破坏的代码)。

无论如何,我对这些东西了解不多,是否有人对这是否不可能有任何技术理解?

另外,请注意,我不是在问 windows是否会在未来弃用低级 API,我知道这是推测性的。我的具体问题是关于微软这样做的可行性,假设他们愿意的话。

4

1 回答 1

18

这在技术上是可行的,但前提是他们想失去所有的市场份额。许多应用程序的内部 LOB 都是针对 Windows API 进行编码的(即使 .Net 也位于它之上,但并不严格依赖它,如 Mono 所示)。WinRT,Windows 8 中的下一件大事,构建在 Windows API 之上

Win32(它是 Windows API 本身,以及所有其他不同的部分)是构建在 NT 内核之上的子系统。我想可以制作一个禁用的内核版本(我很确定 OS/2 子系统不再存在,POSIX 层虽然存在,因为它的用户空间是可安装的)。来自Wiki的图片来说明我在说什么:

在此处输入图像描述

I don't see any reason why it wouldn't be possible to implement the .Net runtime or WinRT as a subsystem. However, the amount of work that would be probably doesn't make sense, as they would have to re-implement a lot of what's in Win32 (That's probably the reason why, in the 20 years the NT kernel has existed, only these three subsystems have been released). For the scope of what they would need to re-implement, you can look here: http://en.wikipedia.org/wiki/Win32 It pretty much includes from Winsock to DirectX.

但是,即使他们要实现更新的内核子系统,没有 Windows API 的第一个版本也不会被任何人购买,因为他们的旧应用程序都不会运行(即使他们实现了新的子系统,然后是几个版本,删除Windows API,仍然会有依赖它的应用程序,并且会在下一个版本中崩溃,造成可怕的压力,然后没有人会购买它。看看Vista发生了什么。

于 2012-07-20T06:48:57.243 回答