微軟內(nèi)核工程師阿列克斯:用什么編程語言來寫的呢?
2021-08-21
操作系統(tǒng)是我們電腦必須安裝的軟件,其他軟件都可以用它,所以很多好奇的朋友會想知道這個系統(tǒng)是用什么編程語言編寫的?工程量有多大?現(xiàn)在微軟內(nèi)核工程師Alex日前在回答網(wǎng)友提問時透露了這些問題。
大多數(shù)內(nèi)核都是用 C 語言編寫的:
微軟工程師表示大部分內(nèi)核都是用C語言編寫的,你甚至可以找到過去泄露的部分內(nèi)核源代碼數(shù)據(jù)。
雖然泄露的源代碼是多年前的,已經(jīng)過時,但是通過研究這些代碼,你會知道內(nèi)核和語言組成的發(fā)展。而且內(nèi)核模式下運行的大部分內(nèi)容也是C語言的使用,比如大部分文件系統(tǒng)、網(wǎng)絡(luò)模塊、大部分驅(qū)動等等。但是有些內(nèi)容是用C++寫的,但是從內(nèi)核到用戶前臺,你會發(fā)現(xiàn)用C/C++寫的內(nèi)容越來越少了。
這是一個史詩般的巨型編程項目:
完整的源代碼樹包括所有代碼、測試代碼和相關(guān)源代碼。這些源代碼文件超出了大多數(shù)用戶的想象。
比如整個數(shù)據(jù)包含多達50萬個文件夾和超過400萬個文件,這些文件占用了大量的存儲空間。 Alex 說他離開了 Git 分支幾個星期,當(dāng)他回來時windows網(wǎng)絡(luò)編程技術(shù)源代碼,他發(fā)現(xiàn)的不僅僅是新的代碼更改和提交。
回到正題:想知道10是用什么語言寫的,98%都是C/C++,C占大多數(shù)。
可以說是一個非常大的操作系統(tǒng)項目,需要多少人來編寫?
事實上windows網(wǎng)絡(luò)編程技術(shù)源代碼,沒有可靠的數(shù)字。據(jù)說1000多人,3年就寫完了。后者和操作系統(tǒng)基本都是WIN NT的后續(xù),所以人會很多,錢也會投入巨資,幸好不是。從頭開始。
然后“10 是用什么語言寫的?”
.exe 內(nèi)核大部分是用 C 編寫的,在內(nèi)核模式下運行的大部分內(nèi)容也是用 C 編寫的,包括文件系統(tǒng)、網(wǎng)絡(luò)和驅(qū)動程序。里面也包含了一些C++代碼,越接近用戶態(tài),越接近新的源代碼,C的使用越來越少,反之亦然。
具體看10張“DVD”的源代碼,作者猜測其中98%是用C和C++編寫的,其中C占很大比例。
另外,.NET BCL和一些相關(guān)的庫和框架通常都是用C#編寫的,“但它們只是C的海洋中的栗子,有幾個C++孤島”,它們來自不同的部門,代碼沒有屬于源樹。
學(xué)習(xí)從來不是一個人的事情。必須有一個互相監(jiān)督的小伙伴,工作需要學(xué)習(xí)C/C++,或者學(xué)習(xí)C/C++才能進入或轉(zhuǎn)行的小伙伴可以給編輯發(fā)私信“學(xué)習(xí)”領(lǐng)取一份全套免費C/C++學(xué)習(xí)資料、視頻