最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

電腦小知識(shí):Windows 10是用什么語言寫的?到底有多少行代碼?

2020-04-24 15:48 作者:C語言編程__Plus  | 我要投稿

這是微軟的內(nèi)核工程師 Axel Rietschin在Quora的一個(gè)回答。

Windows 10 的code base 和Windows 8.x , 7 , Vista , XP , 2000 和Windows NT的code base 是相同的,當(dāng)然是演化過來的,其中的每一代都進(jìn)行了重大的重構(gòu),增加了大量的新功能,提升了性能和對(duì)硬件,安全的支持,并且保持了高度的向后兼容性。

(注:考慮到Windows的眾多版本和海量應(yīng)用,這是一個(gè)很了不起的成就, 也是一個(gè)很大的包袱。)

Windows 的大部分內(nèi)核(ntoskrnl.exe)是用C語言寫的,你可以在Github上看到泄露的Windows Research Kernel 代碼,自己研究一下,雖然它已經(jīng)相當(dāng)過時(shí),非常不完整,但依然能看出一些重要的東西。

代碼庫在這里:

https://github.com/markjandrews/wrk-v1.2

比如說,我們熟悉的注冊表(Registry),在內(nèi)核中被稱為配置管理(configuration manager,簡稱cm),就在這個(gè)目錄下:wrk-v1.2/base/ntos/config

(注:Windows Research Kernel是微軟為教育目的提供的源代碼。高校師生可以修改,編譯,以此來學(xué)習(xí)OS的原理。在Linux大行其道的時(shí)候, 不知道有多少高校在用?)

大部分運(yùn)行在內(nèi)核態(tài)的代碼都是用C語言寫的,包括大部分的文件系統(tǒng), 網(wǎng)絡(luò),大部分的驅(qū)動(dòng), 其中也有一些C++。

如果往上走進(jìn)入到用戶態(tài),C語言就會(huì)變少,C++會(huì)逐漸增多。

大多數(shù)人都沒有意識(shí)到Windows的龐大規(guī)模:這是一個(gè)真正的史詩般的巨型項(xiàng)目。

在Windows的代碼樹中,有源代碼,測試代碼,還有其他東西(碼農(nóng)翻身注:可能是圖標(biāo),聲音,圖片?),文件數(shù)超過400萬,500多G。

僅僅是把這個(gè)代碼樹的目錄和文件名都瀏覽一遍,就要花費(fèi)你一年的時(shí)間。這里有50多萬個(gè)文件夾,其中的代碼組成了操作系統(tǒng)工作站和服務(wù)器的所有版本,相關(guān)工具,開發(fā)工具包。

如果你想把源代碼都讀一遍,可能要窮盡一生。

下面是一個(gè)截圖,描述了Windows源碼的統(tǒng)計(jì)信息:

有一次,我有幾周的時(shí)間沒有更新我的Git, 等我回來的時(shí)候,我發(fā)現(xiàn)它已經(jīng)落后60,000次提交了!

你肯定會(huì)說一個(gè)人不可能閱讀完每天的代碼提交,更不用說過去三十年積累的代碼了。

如果你看到了Windows 10 “DVD” 并且想知道是什么編程語言創(chuàng)造了光盤上的東西,我猜98%是C和C++, C是大頭。

.NET BCL(Base Class Library) 和其他庫&框架主要是用C#寫的,他們僅僅是C語言海洋(有一點(diǎn)C++小島)小水滴而已。它們來自不同的部門(The developer’s division), 代碼也不是Windows代碼樹的一部分。

學(xué)習(xí)C/C++編程知識(shí),提升自己的C/C+編程能力,歡迎關(guān)注UP一起成長~

學(xué)習(xí)C/C++也可以多看視頻學(xué)習(xí),UP上傳了一些視頻教程,有興趣的小伙伴可以看一下的。

電腦小知識(shí):Windows 10是用什么語言寫的?到底有多少行代碼?的評(píng)論 (共 條)

分享到微博請遵守國家法律
新河县| 崇信县| 贵德县| 额尔古纳市| 潜江市| 泾川县| 桐乡市| 宁武县| 靖宇县| 黄大仙区| 华宁县| 吉木乃县| 屏边| 资源县| 定陶县| 天峻县| 甘洛县| 巴林左旗| 台东市| 和田市| 武陟县| 新余市| 南阳市| 宁安市| 松溪县| 宜章县| 蓝山县| 繁峙县| 宜良县| 洪雅县| 建湖县| 达拉特旗| 灵山县| 泌阳县| 萍乡市| 繁昌县| 宁河县| 涿鹿县| 雷州市| 淮安市| 西城区|