windows程式語言是什麼(windows軟體用什麼語言開發)

這是微軟的核心工程師 Axel Rietschin在Quora的一個回答。

Windows 10 的code base 和Windows 8.x , 7 , Vista , XP , 2000 和Windows NT的code base 是相同的,當然是演化過來的,其中的每一代都進行了重大的重構,增加了大量的新功能,提升了效能和對硬體,安全的支援,並且保持了高度的向後相容性。

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

Windows 的大部分核心(ntoskrnl.exe)是用C語言寫的,你可以在Github上看到洩露的Windows Research Kernel 程式碼,自己研究一下,雖然它已經相當過時,非常不完整,但依然能看出一些重要的東西。

程式碼庫在這裡:

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

比如說,我們熟悉的登錄檔(Registry),在核心中被稱為配置管理(configuration manager,簡稱cm),就在這個目錄下:wrk-v1.2/base/ntos/config

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

大部分執行在核心態的程式碼都是用C語言寫的,包括大部分的檔案系統, 網路,大部分的驅動, 其中也有一些C 。

如果往上走進入到使用者態,C語言就會變少,C 會逐漸增多。

大多數人都沒有意識到Windows的龐大規模:這是一個真正的史詩般的巨型專案。

在Windows的程式碼樹中,有原始碼,測試程式碼,還有其他東西(碼農翻身注:可能是圖示,聲音,圖片?),檔案數超過400萬,500多G。

僅僅是把這個程式碼樹的目錄和檔名都瀏覽一遍,就要花費你一年的時間。這裡有50多萬個資料夾,其中的程式碼組成了作業系統工作站和伺服器的所有版本,相關工具,開發工具包。

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

下面是一個截圖,描述了Windows原始碼的統計資訊:

有一次,我有幾周的時間沒有更新我的Git, 等我回來的時候,我發現它已經落後60,000次提交了!

你肯定會說一個人不可能閱讀完每天的程式碼提交,更不用說過去三十年積累的程式碼了。

如果你看到了Windows 10 “DVD” 並且想知道是什麼程式語言創造了光碟上的東西,我猜98%是C和C , C是大頭。

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

學習C/C 程式設計知識,想要成為一個更加優秀的程式設計師,或者你學習C/C 的時候有難度,可以來筆者的C 程式設計學習圈,裡面不僅有學習視訊和檔案資料,還有更多志同道合的朋友,歡迎轉行也學習程式設計的夥伴,和大家一起交流成長會比自己琢磨更快哦!

學習C/C 程式設計知識,想要成為一個更加優秀的程式設計師,或者你學習C/C 的時候有難度,可以關注 私信小編【C/C 程式設計】筆者的C語言C 零基礎程式設計學習圈,裡面不僅有學習視訊和檔案原始碼,還有更多志同道合的朋友,歡迎轉行也學習程式設計的夥伴,和大家一起交流成長會比自己琢磨更快哦!