成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么使用C ++而不是C#編寫Windows?

系統(tǒng) 后端
也許很多人不理解為什么Microsoft使用C ++而不是自己的C#編寫Windows?其實原因來說也算很簡單吧,首先Windows是在定義C#語言之前很久才開發(fā)的。即使當(dāng)時可用,C#也不是用于實現(xiàn)操作系統(tǒng)的適當(dāng)語言。

也許很多人不理解為什么Microsoft使用C ++而不是自己的C#編寫Windows?其實原因來說也算很簡單吧,首先Windows是在定義C#語言之前很久才開發(fā)的。即使當(dāng)時可用,C#也不是用于實現(xiàn)操作系統(tǒng)的適當(dāng)語言。

 

為什么使用C ++而不是C#編寫Windows?

Windows桌面和服務(wù)器操作系統(tǒng)的現(xiàn)代版本的代碼庫始于1988年的NT項目,當(dāng)時新的32位搶占式多任務(wù)操作系統(tǒng)的代碼從零開始。選擇的編程語言主要是C,其中一些C ++用于GUI組件,以及一些匯編語言。基于此代碼的操作系統(tǒng)于1993年首次發(fā)布,并帶有Windows NT Workstation和Windows NT Server的第一個版本。NT和2000的所有版本都基于此代碼,Window Server的所有版本(1993年至今)以及從Windows XP開始的所有桌面Windows版本(2001年至今)都基于此代碼。

 

為什么使用C ++而不是C#編寫Windows?

Windows隨附的某些更高版本的用戶模式應(yīng)用程序已用C#實現(xiàn),但大多數(shù)系統(tǒng)仍使用C和C ++,并帶有一些匯編語言。

在Windows NT項目啟動十二年后的2000年之前,還沒有完全定義C#語言。(嚴(yán)格來說,NT項目最初是NT OS / 2,但是當(dāng)16位Windows 3進(jìn)入市場時,該項目轉(zhuǎn)移到了以Windows為中心的焦點。)

C#通常不會編譯為本機代碼。它被翻譯為中間CIL語言,然后在執(zhí)行程序時進(jìn)行解釋和或及時編譯。這種語言以及其他類似語言并不真正適合于實現(xiàn)操作系統(tǒng),因為這些操作系統(tǒng)需要直接在硬件上運行,管理頁表,管理中斷等。C和C ++通常可編譯為高度優(yōu)化的本機不需要運行時解釋器或即時編譯器的代碼,更適合于實現(xiàn)操作系統(tǒng)。C#從未被設(shè)計為系統(tǒng)編程語言。在開發(fā)用戶模式應(yīng)用程序和服務(wù)時,它的重點更多地放在安全性和生產(chǎn)率上。

 

[[342109]]

順便說一句。NET Framework支持C#和其他語言,一部分以C#實現(xiàn),一部分以C和C ++實現(xiàn)。它調(diào)用Windows操作系統(tǒng)提供的API。

即使今天有一個C#編譯器生成的高度優(yōu)化的本機代碼,但回過頭去重寫一個大型項目卻只是為了使其成為一種更新的編程語言,幾乎沒有任何意義。由于有成千上萬的代碼行需要重寫和完全重新測試,因此成本和風(fēng)險都很高,收益幾乎為零。做這樣的事情還沒有商業(yè)案例。只要現(xiàn)有語言得到完全支持并提供了出色的工具,實際上就沒有理由用“較新的”語言重寫代碼。

 

[[342110]]

最后,Microsoft從1975年的第一天起就從事編程語言業(yè)務(wù)。多年來,它的主要業(yè)務(wù)是為各種基于微處理器的系統(tǒng)開發(fā)編程語言解釋器,編譯器和匯編器。自1980年代以來,他們擁有自己的C和C ++編譯器以及其他語言(例如BASIC,F(xiàn)ORTRAN等)。他們的C和C ++編譯器非常穩(wěn)定和成熟,并且會不斷發(fā)展,從而生成高度優(yōu)化的機器代碼。

 

為什么使用C ++而不是C#編寫Windows?

也許很多人會懷疑我是機翻,然后呢,我想給大家說下,因為也會去看外國的一些文章,而這篇里面有些理解是一位曾在Microsoft的Windows NT組工作的一位人員。

責(zé)任編輯:未麗燕 來源: 今日頭條
相關(guān)推薦

2012-05-18 10:21:30

程序員CC++

2009-08-25 15:38:12

C# Windows服

2013-03-25 10:14:18

NginxApache

2024-04-15 04:00:00

C#反射代碼

2025-02-14 00:00:25

C#后端RPS

2021-02-26 05:30:25

元素For-Each代碼

2019-04-19 11:56:48

框架AI開發(fā)

2021-03-26 11:50:28

Linuxexals

2023-03-01 10:42:58

gRPC服務(wù)端設(shè)置

2021-06-30 12:47:12

標(biāo)簽HTML分辨率

2020-02-14 15:22:58

編寫基礎(chǔ)架構(gòu)Python

2020-02-14 13:13:04

Go機器學(xué)習(xí)Python

2009-08-18 16:31:19

Visual C#編寫

2009-08-25 13:26:49

C#編寫asp+

2009-08-18 17:08:50

C#編寫XML文檔

2009-08-28 15:05:35

C#編寫Calenda

2009-08-06 16:58:40

C#編寫ActiveX

2009-08-12 18:04:44

編寫C#多線程

2012-10-10 16:52:21

CentOSDebianUbuntu

2021-10-30 19:57:00

HTTP2 HTTP
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产成人精品一区二区三 | 97色伦网 | 一级做受毛片免费大片 | 国产亚洲精品久久久久动 | 日韩一级电影免费观看 | 国产午夜精品一区二区三区四区 | 神马影院一区二区三区 | 色男人的天堂 | 欧美日韩在线视频一区二区 | va在线 | 精品国产一区二区三区四区在线 | 五月婷亚洲 | wwwxxx日本在线观看 | 日韩成人在线电影 | 免费视频99 | 在线观看一区 | 91精品在线播放 | 久久精品国产久精国产 | 欧美精品一区在线发布 | 91资源在线 | www.亚洲视频| 夜夜草天天草 | 99久久日韩精品免费热麻豆美女 | 91色在线 | 日韩视频一区在线观看 | 天天综合操| 视频精品一区二区三区 | 一区二区在线不卡 | 亚洲一二三区在线观看 | 在线观看特色大片免费网站 | 免费一级欧美在线观看视频 | 一区二区三区在线 | 久久国产精品一区二区三区 | 成人欧美一区二区三区黑人孕妇 | 精品国产欧美一区二区三区成人 | 亚洲欧美一区二区三区在线 | 99精品国产一区二区三区 | 中文字幕亚洲视频 | 97精品国产97久久久久久免费 | 亚洲视频在线看 | 成人不卡在线 |