微软是否有可能在未来的版本中逐步淘汰Win32 API?

时间:2012-07-20 06:08:57

标签: windows api winapi operating-system

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

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

无论如何,我对这些东西知之甚少,是否有人对这是否不可能有任何技术上的了解?

另外,请注意我 询问Windows 将来是否弃用低级API,我知道这是推测性的。我的具体问题是关于如何可行对于微软这样做,假设他们想要这样做。

1 个答案:

答案 0 :(得分:16)

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

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

enter image description here

我认为没有任何理由将.Net运行时或WinRT作为子系统实现。然而,可能没有意义的工作量,因为他们必须重新实现Win32中的许多内容(这可能就是为什么,在NT内核存在的20年中,只有这三个子系统已经发布)。对于他们需要重新实现的范围,您可以在这里查看:http://en.wikipedia.org/wiki/Win32它几乎包括从Winsock到DirectX。

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