c++大型项目源码_Windows 10 源码一览!

程序猿(ID:imkuqin) 整编

链接:https://www.quora.com/Which-programming-language-is-used-for-making-Windows-10/answer/Axel-Rietschin、https://github.com/markjandrews/wrk-v1.2等

2015年7月29日,微软正式发布了新一代的操作系统Windows 10,作为Win8后的继任者,这一代产品被广大微软粉丝和PC用户寄予厚望。微软也一直鼓励用户迁移到当前最新的操作系统,最近关于Windows源码的问题再一次被提出来。

2cc373ea94f1a2bccf03c2efd5cf3f65.png

具体来说,这一切都是从Quora上的一个Windows 7问题开始的,微软内核工程师Rietschin在这个问题下透露了一些关于这个操作系统的功能和结构的细节。

b0583206d08f1b636fe49ddf35b4dfa2.png

根据Rietschin的描述:Windows 10与Windows 8、7、Vista、XP、2000甚至Windows NT都是用相同的代码库。因此,每一代Windows系统都是对上一个版本的重构,并增加了大量新功能,改进了性能和硬件支持。以及安全性,同时保持非常高的向后兼容性。

2017年,微软Windows的一部分代码被泄露在网站上,泄露的代码是来自Shared Source Initiative项目的一部分源码。据了解,该文件夹自身尺寸为1.2GB,包含12个部分,每个100MB。

df6c92db6ace3bb9bc05a16d008d7b50.png

你可以在GitHub上找到这个Windows 内核研究的泄露副本,(GitHub地址:github.com/markjandrews/wrk-v1.2),虽然这些代码已经过时了,但还是具有重大研究意义:

6096939bedfbfa4c0d499e9beb9e6d2f.png

例如,参见 wrk-v1.2 / base / ntos / config 中实现熟悉的Registry的源代码,内部组件配置管理器的“Cm” 。

史诗般的巨型编程项目

Windows大多数内核(ntoskrnl.exe)都是用C语言编写的,包括文件系统、网络与驱动程序等。而且大部分都是在内核模式下运行的。不过,在Windows 10的创建中,其他语言如c#、JavaScript、TypeScript和VB也有被使用。越靠近用户模式、越接近新的源码时,C 的使用变得越来越少,反之 C++ 变多。

Rietschin还表示作为旁观者,大多数人都不知道Windows的规模庞大,但事实上,这是一个真正史诗般的大型项目。下图是有关完整Windows登记的统计信息(源代码,测试文件,构建工具等)

38dfaf970aabefb82a81f2c8102bf19f.png

完整的源代码树包含所有代码,测试代码以及一起构成“Windows源代码”的所有内容,超过400万文件,大小超过0.5TB50万个文件夹,其中包含了构成OS工作站、服务器和所有版本的工具、相关开发工具包的每个组件的代码。

此外,根据微软已公布的资料显示,Windows 98有1500万行代码,Windows XP有3500万行代码,Windows Vista有5000万行代码,Windows 7有5000万行代码。

e656f8fce06d3f80b65d858612e7dbeb.png

Rietschin还表示自己曾经离开了Git分支几个星期 , 等回来的时候已经发现有超过 60000 次新的代码变更和提交。具体看一下 Windows 10 “DVD” 的源码,Rietschin猜测其中98% 由C和C++编写的,而C占据大比例。

此外,.NET BCL以及其他库和框架通常都是用C#编写的,但它们和C/C++相比不过就是沧海一粟。它们来自不同的部门(开发人员部门),他们的代码并非是Windows源代码树的一部分。

那么,这么巨大额代码量需要多少人员编写维护呢?据说Win2000是1000多人,编写3年才完成的,相信现在的人数不比那会少,你觉得呢?

在Rietschin的回答下面还有网友附上了以下视频,帮助大家更好的了解Win 10开发:


●编号3697,输入编号直达本文

●输入m获取文章目录

C语言与C++编程

091997cecf36158d15a43846297202f8.png

分享C/C++技术文章

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值