自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

 

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

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

 

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

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

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

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

 

[[342109]]

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

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

 

[[342110]]

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

 

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

也許很多人會(huì)懷疑我是機(jī)翻,然后呢,我想給大家說下,因?yàn)橐矔?huì)去看外國的一些文章,而這篇里面有些理解是一位曾在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

2009-08-12 18:04:44

編寫C#多線程

2021-06-30 12:47:12

標(biāo)簽HTML分辨率

2023-03-01 10:42:58

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

2021-03-26 11:50:28

Linuxexals

2020-02-14 15:22:58

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

2021-02-26 05:30:25

元素For-Each代碼

2020-02-14 13:13:04

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

2019-04-19 11:56:48

框架AI開發(fā)

2009-08-18 17:08:50

C#編寫XML文檔

2009-08-25 13:26:49

C#編寫asp+

2009-08-06 16:58:40

C#編寫ActiveX

2009-08-18 16:31:19

Visual C#編寫

2009-08-28 15:05:35

C#編寫Calenda

2025-01-06 08:28:45

C語言操作系統(tǒng)程序

2009-08-17 09:39:40

C# Windows
點(diǎn)贊
收藏

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