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

C++的替補選手:微軟是如何應用Rust的?

開發 前端
Rust是一種相對較新的編程語言,具有與C和C++相同的底層性能,并具備現代編程語言應有的功能集。微軟認為Rust頗具潛力,本文就將介紹微軟將其用在產品中的方式。

本文轉載自公眾號“讀芯術”(ID:AI_Discovery)。

微軟擁有世界上最大的C/C++代碼庫之一。從Windows、Office到Azure云,微軟的所有核心產品都在該代碼庫上運行。但因為C++不是內存安全的語言,代碼庫中自然頻頻出現內存漏洞,大量的時間被耗費在修補漏洞上。

[[340477]]

微軟自去年開始尋找用以替代的編程語言來解決內存安全問題,尋找終有所得——微軟開始嘗試使用Rust,并在一些情境下將其集成進代碼庫中。Rust是一種相對較新的編程語言,具有與C和C++相同的底層性能,并具備現代編程語言應有的功能集。

微軟認為Rust頗具潛力,本文就將介紹微軟將其用在產品中的方式。

用Rust重寫Windows

微軟雖然尚未使用Rust全面重寫Windows,但正在致力于研究如何使Rust適應其生態系統。據微軟估算,在推送給計算機的安全補丁中,有70%都是為了修補內存有關的漏洞,他們認為Rust可以在開發階段捕獲這些漏洞。因此,微軟委托一些工程師用Rust重寫Windows的部分組件,從而獲取開發人員的一些意見。

雖然微軟沒有公開重寫哪些組件,但一名工程師稱,他正在針對性地改造部分“Windows的底層系統”,這體現出了微軟對Rust的潛力頗具信心。微軟不僅計劃重寫一些小的服務和Windows本地應用程序,還可能重寫操作系統的核心組件。

工程師們稱涉及Rust的工作“整體前景是樂觀的”,但也明確指出Rust不具備C的一些重要功能,不過這些工程師們也認為有必要為Rust開發這些功能。

[[340478]]

圖源:unsplash

英特爾已經開始致力于讓Rust實現與C相同的功能,微軟也或將加入其中。由于Rust缺少C的一些功能,該團隊發現Rust將最適用于新近開發的Windows組件。假如微軟將部分代碼庫遷移到Rust,我也不會感到吃驚。

微軟已經為Rust搭建了一個標準Windows庫,它具備C++版本的所有功能;Linux也在考慮將一些內核遷移到Rust。這兩大操作系統之間有可能展開競爭,看誰能最先將Rust代碼投入生產。

將Rust整合進Azure服務

DeisLabs是Azure的孵化器項目之一,它致力于為Kubernetes構建工具。近來,它選取Rust來開發新產品Krustlet,允許開發者在Kubernetes中運行多個WebAssembly模塊。

Kubernetes原本由Google開發,以Go語言寫成。大多數工程師傾向于使用Go來為Kubernetes編寫組件,DeisLabs選擇Rust可謂驚人之舉。

最終,這一決定似乎有所成效。雖然員工的確提到了由于Rust獨特的所有權概念,轉換為Rust的過程十分困難,但該團隊僅用了一個月就回到了全速工作狀態,他們發現需要為空值寫的測試以及調試的問題都越來越少。

工程師們也對Rust的編譯器印象深刻。他們稱該編譯器能夠找到另一個項目中的安全漏洞,而Go的編譯器則未能做到這一點。他們總結說,應該有更多的團隊考慮在將來的工作中使用Rust,該語言可能比Go更適合Kubernetes的開發。

[[340479]]

圖源:zdnet

一種新的編程語言

不久之前,在Rust的啟發下,微軟開始著手調研創造自己的編程語言。該項目的負責人之一是C#的主要維護人員,因此這一編程語言似乎是另一種版本的Rust,但在語法上更類似C類編程語言。

這一語言被稱為“Project Verona”,致力于在系統編程中解決內存漏洞。一些人推測ProjectVerona可能將在許多微軟主要產品中投入使用,例如Windows、Xbox和Azure。

然而,微軟最終仍沒有實際應用ProjectVerona。微軟的確聲稱該語言已經“完全內存安全”,但依舊選擇使用Rust。Rust已經擁有了完善的社區,并且得到了Mozilla和英特爾等企業的支持。有了這些企業的合作,Rust將會更迅速地成長為更強大的語言。

C++的替補選手:微軟是如何應用Rust的?

圖源:unsplash

憑借大型企業的支持和社區的不斷發展,Rust的前途不可限量。在接下來的幾個月中,即使微軟計劃以不同方式將Rust納入企業中也不足為奇。Rust針對微控制器和物聯網設備也進行了良好的優化,這些領域的企業有望將Rust投入使用。可以說,Rust的未來一片光明。

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2021-12-28 08:37:32

CTypeScriptJavaScript

2024-07-26 00:22:34

2024-02-26 07:26:27

RustC++開發

2020-07-31 18:33:56

C++編程語言

2019-08-28 14:21:39

C++C接口代碼

2024-04-28 09:26:40

RustRTTI二進制

2010-01-26 15:51:06

C++變量

2014-09-19 10:46:36

LuaCC++

2019-09-18 09:05:26

微軟開源Windows

2023-09-26 19:17:01

項目Windows操作系統

2011-03-30 17:20:18

C++引用

2022-03-25 09:57:18

C++Rust語言

2023-11-28 12:01:06

C++STL

2024-04-08 18:55:54

RustC++開發

2025-05-20 10:00:00

C++命名空間別名代碼

2010-02-03 15:27:26

C++ static

2019-11-22 10:06:24

PythonGolangJava

2010-01-15 16:25:48

學習C++

2010-01-15 19:28:59

C++

2011-04-11 14:18:37

CC++指針
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 伊人看片 | 久久在线 | 欧美h视频 | 国产乱码精品一区二区三区中文 | 精品国产乱码久久久久久88av | 久久亚洲精品国产精品紫薇 | 99tv成人影院 | 日本a级大片| av免费观看网站 | 久草久草久草 | 怡红院免费的全部视频 | 91久久国产综合久久 | 精品国产伦一区二区三区观看体验 | 国产成人精品综合 | 91久色 | 免费在线观看一区二区 | 国产日韩久久 | aaaaaaa片毛片免费观看 | 成人国产精品久久久 | 一级毛片观看 | 超碰97人人人人人蜜桃 | 日韩欧美视频在线 | 国产一区二区三区在线免费观看 | 日韩毛片网 | 久久久精品一区二区三区四季av | 精品久久久久一区二区国产 | 久久久这里只有17精品 | 黄网站涩免费蜜桃网站 | 日本aⅴ中文字幕 | 欧美日韩福利视频 | 国产精品一区二区免费看 | 国产2区 | 一区在线视频 | 免费视频一区二区 | 日本精品视频一区二区 | 久久精品中文 | 欧美日韩国产高清 | 亚洲精品麻豆 | 全免费a级毛片免费看视频免费下 | 国产精品a久久久久 | 欧美日韩精品在线免费观看 |