使用哪种语言创建Windows 8?

Jun*_*r M 2 windows user-interface

我看到了Windows 8演示的视频.

所以我在徘徊使用哪种语言来产生这种新外观:C++或C#?

该UI上是否有WPF运行?

Ben*_*ein 10

Windows是用C,C++和一些手工调整的汇编语言编写的.由于它不是用.NET编写的原因,请参阅此问题.

目前尚不清楚这些语言中的哪一种用于开发Windows 8中的最新眼睛糖果.

  • 链接(这个问题)无法找到...... (8认同)
  • Internet档案库有快照:http://web.archive.org/web/20100812071342/http://stackoverflow.com/questions/783238/why-windows-7-isnt-writing-in-c (2认同)

Cod*_*ray 7

我无法确切地说,因为我不是开发团队的成员,但它几乎肯定是用C++编写的.然后,由于它不是一个全新的重写,因此必然会有一堆C和汇编代码.这两个遗留代码仍然是为了向后兼容,以及重要的功能代码,如自举序列.

至于他们如何实现花哨的UI效果,它们的存在并不意味着某个UI框架正在使用中.您可以在WPF中执行的任何操作都可以在C++代码的更直接级别上完成.实际上,必须有可能这样做,因为WPF只是调用平台API,如DirectDraw等,以完成所有工作.当然,不言而喻,使用像WPF这样的包装器库要容易得多,但并不是绝对必要的.Windows 有很多原因无法转移到托管代码世界,至少现在还是在现实的未来.

长期以来,Windows Shell团队一直使用自己的专有控件和类名DIRECTUIHWND.许多程序员使用像Spy ++这样的工具检查操作系统小部件,找到"他们是怎么做到的?"的答案.并得出了同样的结论.我的猜测是他们使用相同的工具集,扩展了一些新的whizbang功能.当然,他们把它全部保留在内部.一旦您公开API供其他开发人员使用,您就会失去对它的所有权,因为您受到API合同的约束,以确保它继续适用于所有未来版本.如果必须确保与用于实现这些功能的shell的内部UI组件的向后兼容性,那么您在Windows 8中看到的那些激进变化就会困难得多.

  • @ user1978421 ......什么?使用循环处理消息的"荒谬"是什么?这就是所有Windows应用程序所做的事情,无论它们是用哪种语言编写的.启动C++应用程序对我的计算机来说都不是很慢.与托管应用程序相比,这是我看到的本机应用程序的一大优势 - 更快的冷启动.几乎所有现代操作系统***都是用C++编写的.我无法理解你为何难以置信. (2认同)