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

微軟Azure CTO Mark Russinovich:應(yīng)該立即棄用C/C++

新聞
微軟Azure CTO Mark Russinovich表示,后續(xù)啟動的新項目應(yīng)停止使用C和C++。

他在推特上表達(dá)了這個觀點,并強調(diào)與微軟公司無關(guān)。“是時候停止用C/C++啟動任何新項目了,一切需要無垃圾回收語言的場景都該使用Rust。出于安全性和可靠性的考慮,業(yè)界應(yīng)該立即棄用這兩種語言?!?/p>

Russinovich的言論值得關(guān)注,畢竟微軟自家的Windows、Office和SQL Server等核心產(chǎn)品,主要就是用C和C++編寫的。Linux也是如此,其同樣在Azure云平臺上得到了廣泛應(yīng)用。但從目前公布的消息來看,Linux的部分內(nèi)核似乎很快就將邁入Rust時代。結(jié)合開源峰會上的報告和Linus本人的郵件,“除非出現(xiàn)極特殊情況,否則Rust一定會現(xiàn)身Linux內(nèi)核的6.1版本?!?/p>

這已經(jīng)不是微軟第一次主張用Rust提升軟件安全水平了。三年之前,微軟安全響應(yīng)中心(MSRC)就曾提到,“我們認(rèn)為Rust是目前最理想的C與C++替代選項。”該響應(yīng)中心團隊還強調(diào),“由MSRC分配CVE編號的安全問題中,約70%與內(nèi)存安全相關(guān)。也就是說,如果能用Rust編寫這些軟件,那這70%的安全隱患很可能不會出現(xiàn)?!?/p>

所謂內(nèi)存安全,是指當(dāng)應(yīng)用程序代碼從內(nèi)存中讀取數(shù)據(jù)時,這部分?jǐn)?shù)據(jù)能夠保證有效。這個環(huán)節(jié)中出問題的原因有以下幾點:編程語言會為變量定義需要占用的特定內(nèi)存空間。如果為變量分配的內(nèi)存太小,代碼可能超出其上限,導(dǎo)致有隨機數(shù)據(jù)被注入應(yīng)用程序。同樣的,如果代碼試圖讀取已被內(nèi)存釋放掉的數(shù)據(jù),那實際讀取到的可能是其他數(shù)據(jù),同樣會引發(fā)難以預(yù)測的結(jié)果、甚至導(dǎo)致崩潰。另一個問題就是多線程應(yīng)用程序中的多個線程同時寫入同一內(nèi)存區(qū),這時如果沒有內(nèi)存鎖,就會引發(fā)內(nèi)存數(shù)據(jù)損壞。

大多數(shù)業(yè)務(wù)應(yīng)用程序都是用JavaScript、Java、Python和C#等高級語言編寫的,它們要比C或C++安全得多。但這些語言的問題是,它們的運行時或內(nèi)存垃圾回收器(GC)具有無法預(yù)測的性能開銷,因此并不適合用作系統(tǒng)編程。Rust專為系統(tǒng)編程而設(shè)計,而且具備基于編譯器強制值所有權(quán)概念的內(nèi)存安全功能。

當(dāng)然,Rust也無法保證百分之百內(nèi)存安全。使用unsafe關(guān)鍵字,Rust開發(fā)者也可以取消引用原始點、調(diào)用不安全函數(shù)、寫入可變靜態(tài)變量等等。在有些情況下,這些操作有其必要性,而且Rust會將這類代碼隔離到特定的標(biāo)記塊當(dāng)中,由此帶來遠(yuǎn)超C或C++的安全水平。

盡管業(yè)界不乏支持Rust的聲音,但在Redmonk編程語言排名等主流調(diào)查中,Rust的人氣仍然遠(yuǎn)遠(yuǎn)落后于C和C++。其中C++排名第7,C排名第10,而Rust位列第19。為什么Rust人氣有限?主要原因包括開發(fā)者短缺、工具不夠成熟、語言學(xué)習(xí)門檻過高,以及與現(xiàn)有代碼的互操作性不佳等。

責(zé)任編輯:姜華 來源: 至頂網(wǎng)
相關(guān)推薦

2022-09-26 07:25:25

Java 19C++二維碼

2022-04-18 12:29:18

C++

2023-10-30 10:29:50

C++最小二乘法

2024-07-26 00:22:34

2018-04-02 08:16:31

C ++開發(fā) ISO

2013-06-24 15:32:00

c++GCC

2010-05-14 15:23:03

2023-10-12 07:46:02

2011-07-14 17:45:06

CC++

2022-10-21 18:41:23

RustC++Azure

2012-12-26 09:51:52

C++開發(fā)者C++ CX

2019-09-18 09:05:26

微軟開源Windows

2010-01-13 14:25:49

C++特點

2014-11-04 11:14:25

AzureDocker

2023-09-26 19:17:01

項目Windows操作系統(tǒng)

2025-04-12 14:01:42

微軟C++C#

2010-01-19 09:19:02

C++封裝

2010-01-21 14:07:14

CC++聲明

2011-07-20 16:23:14

C++

2020-12-07 10:42:22

VScodeC++
點贊
收藏

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