这是微软内核工程师AxelRietschin在Quora上的回答。Windows10的代码库与Windows8.x、7、Vista、XP、2000和WindowsNT的代码库相同。当然,它已经进化了。每一代都经历了重大的重构,增加了许多新特性,改进了性能和对硬件的支持、安全性,并保持了高水平的向后兼容性。(码友注意:考虑到Windows版本众多,应用海量,这是一个很大的成就,也是一个很大的负担。)Windows内核(ntoskrnl.exe)大部分是用C语言编写的,你可以看到泄露的Windows在Github上研究Kernel代码,自己研究一下,虽然比较陈旧,很不完整,但还是可以看到一些重要的东西。代码库在这里:https://github.com/markjandrews/wrk-v1.2比如我们熟悉的Registry在内核中叫做configurationmanager(简称cm),就在这个目录下:wrk-v1.2/base/ntos/config(注:WindowsResearchKernel是微软为教育目的提供的源代码,高校师生可修改编译学习OS原理。当Linux开始流行了,有多少大学在用?)大部分运行在内核态的代码都是用C语言写的,包括大部分的文件系统,网络,大部分的驱动程序,还有一部分是C++的。如果往上走,进入用户态,C语言会减少,C++会逐渐增加。大多数人没有意识到Windows的庞大规模:它是一个真正的史诗般的项目。Windows代码树里面有源代码,测试代码,什么的(码友翻翻笔记:可能是图标,声音,图片?),文件数超过400万,500多G,带你去一年只是为了浏览这个代码树的目录和文件名。有超过500,000个文件夹,其中的代码构成了所有版本的操作系统工作站和服务器、相关工具、开发包。如果你想阅读所有的源代码,可能会花掉你的一生。这是描述Windows源代码统计信息的屏幕截图:有一次,我已经好几个星期没有更新我的Git分支了,当我回来时,它落后了60,000次提交!你肯定会说一个人不可能阅读每天的代码提交,更不用说过去三十年积累的代码了。如果你看到Windows10“DVD”并且想知道是什么编程语言创建了光盘上的内容,我猜98%是C和C++,其中C是大头。.NETBCL(BaseClassLibrary)等类库&框架主要是用C#编写的,它们只是C语言海洋中的一小滴(还有一点C++孤岛)。它们来自不同的部门(开发人员部门),代码不是Windows代码树的一部分。原文地址:https://www.quora.com/Which-programming-language-is-used-for-making-Windows-10coderising获取授权】戳这里阅读作者更多好文
