偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

谷歌斥資100萬(wàn)美元,消除C++內(nèi)存安全問(wèn)題,C++與Rust可以“互操作”

原創(chuàng) 精選
開(kāi)發(fā) 前端
具體而言,“建議可能包括雇傭一名或多名Interop Initiative工程師,并可能包括提供資源以擴(kuò)大現(xiàn)有的互操作性工作、構(gòu)建系統(tǒng)集成、使用人工智能進(jìn)行C++到Rust的轉(zhuǎn)換,或所有這些的某種組合。”

編輯 | 言征

出品 | 51CTO技術(shù)棧(微信號(hào):blog51cto)

為了消除基于 C++ 的 Android 應(yīng)用中的內(nèi)存錯(cuò)誤,Google 希望讓開(kāi)發(fā)人員能夠輕松地用 Rust 編寫(xiě)代碼。

本周一,谷歌承諾向Rust 基金會(huì)捐贈(zèng)100 萬(wàn)美元,以改善C++和Rust編程語(yǔ)言之間的互操作性。

圖片圖片

根據(jù)公告,雖然該項(xiàng)目被稱(chēng)為“互操作倡議(Interop Initiative)”。谷歌Android 平臺(tái)工具和庫(kù)總監(jiān)兼 Rust 基金會(huì)董事會(huì)主席 Lars Bergstrom 宣布了這筆撥款,并表示這筆資金將“提高 Rust 代碼與現(xiàn)有遺留 C++ 代碼庫(kù)互操作的能力”。其目標(biāo)本質(zhì)上更加單向,即讓“組織逐漸將當(dāng)前的 C++ 遷移到 Rust”。

Rust基金會(huì)董事會(huì)主席兼谷歌成員總監(jiān)Lars Bergstrom表示:“谷歌相信Rust等內(nèi)存安全語(yǔ)言發(fā)揮的關(guān)鍵作用,以及解決各種領(lǐng)域內(nèi)存安全問(wèn)題的迫切需要?!?/p>

“我們支持Rust基金會(huì)的互操作計(jì)劃,因?yàn)榕cC++的更大互操作性將是Rust采用的關(guān)鍵,并使更多組織和社區(qū)從內(nèi)存安全系統(tǒng)中受益。”

1、C++內(nèi)存安全壓力空前

由于對(duì)安全性的擔(dān)憂(yōu),C++ 作為流行的通用編程語(yǔ)言,不少企業(yè)認(rèn)為它已經(jīng)過(guò)時(shí)了。比如,內(nèi)存安全錯(cuò)誤是 Google 和 Microsoft 的大多數(shù)漏洞的根源,這導(dǎo)致了內(nèi)存安全 Rust 的普及和 使用C/C++ 的紅字警告。

谷歌工程、Android 安全和隱私副總裁 Dave Kleidermacher 在一份聲明中表示:“根據(jù)歷史漏洞密度統(tǒng)計(jì)數(shù)據(jù),Rust 已主動(dòng)阻止了數(shù)百個(gè)漏洞影響 Android 生態(tài)系統(tǒng)?!?“這項(xiàng)投資旨在擴(kuò)大 Rust 在平臺(tái)各個(gè)組件中的采用?!?/p>

由于 Microsoft Azure 首席技術(shù)官M(fèi)ark Russinovich等行業(yè)人士以及 CISA 總監(jiān)Jen Easterly等公共部門(mén)人士的認(rèn)可,更不用說(shuō) ISRG 的Prossimo等行業(yè)人士的努力,軟件開(kāi)發(fā)人員面臨著壓力,需要在合適的情況下考慮 Rust 和其他內(nèi)存安全語(yǔ)言。

去年12月,美國(guó)網(wǎng)絡(luò)安全和基礎(chǔ)設(shè)施局(CISA)再次敦促:商業(yè)和技術(shù)領(lǐng)導(dǎo)人應(yīng)準(zhǔn)備在軟件開(kāi)發(fā)中關(guān)注內(nèi)存安全,應(yīng)該摒棄C++,選擇Rust等內(nèi)容安全的語(yǔ)言。 

2、C++轉(zhuǎn)向Rust的最大障礙:互操作性

然而,鑒于 C++ 往往用于大型、性能密集型程序,例如現(xiàn)代游戲和操作系統(tǒng),遷移到Rust,這絕非易事。

盡管 Rust 是這樣的更好的安全性和更高的開(kāi)發(fā)生產(chǎn)力的“假定好處”,但無(wú)論是營(yíng)利性的,還是其他形式的軟件構(gòu)建組織,在人才、工具和代碼生成方面對(duì) C++ 進(jìn)行了大量投資,可能并不會(huì)那么急于轉(zhuǎn)向另一種(并且有些具有挑戰(zhàn)性的)語(yǔ)言來(lái)學(xué)習(xí)。

關(guān)于這一點(diǎn),Rust 基金會(huì)執(zhí)行董事兼首席執(zhí)行官 Rebecca Rumbul 在一份聲明中坦承,“盡管Rust具有很多至關(guān)重要的優(yōu)勢(shì),并且越來(lái)越受歡迎和得到采用,但即使是最先進(jìn)的技術(shù)組織也很難輕易轉(zhuǎn)向Rust并放棄現(xiàn)有代碼庫(kù)的架構(gòu),很不現(xiàn)實(shí)。”

Bergstrom表示與 C++ 的互操作性是 Google 和其他組織更廣泛采用 Rust 的最大障礙之一。

“這是所有組織為了加強(qiáng) Rust 的實(shí)施而必須克服的最常見(jiàn)的障礙,”“許多現(xiàn)有的遺留代碼庫(kù)以及核心庫(kù)和服務(wù)要么是用 C++ 編寫(xiě)的,要么只有 C++、Java、Go 或 Python 中可用的 API。如今,在有后備 C API 的情況下集成 Rust 是可能的,但對(duì)于高性能和高保真互操作性,提高直接使用 C++ 代碼的能力是進(jìn)一步提高采用 Rust 能力的最大舉措。”

3、為了解決這一問(wèn)題,都在做哪些努力?

據(jù) MSPowerUser 報(bào)道,微軟最近組建了一個(gè)團(tuán)隊(duì),將更多 Rust 引入其 Office365 應(yīng)用程序底層。此外,微軟也宣布還要在 Windows 內(nèi)核中使用更多 Rust,理由是 C++ 持續(xù)存在的安全問(wèn)題。

同樣,Linux 負(fù)責(zé)人 Linus Torvalds對(duì)將Rust用于主要用 C 編寫(xiě)的Linux 的一些核心組件持開(kāi)放態(tài)度。Rust 支持甚至被寫(xiě)入 GNU C 編譯器 (GCC) 中。

4、為什么谷歌對(duì) Rust 如此感興趣? 

就 Google 而言,該公司似乎對(duì)使用 Rust 實(shí)現(xiàn)內(nèi)存安全非常感興趣。C++的天然設(shè)計(jì),會(huì)無(wú)意中導(dǎo)致程序員在內(nèi)存分配中犯錯(cuò)誤,為惡意行為者侵入這些程序提供了空間(當(dāng)然,C++語(yǔ)言本身也在思考如何解決這個(gè)問(wèn)題:C++之父做決定了:內(nèi)部自救?。?。

“雖然 Rust 可能并不適合所有產(chǎn)品應(yīng)用程序,但優(yōu)先考慮與 C++ 的無(wú)縫互操作性將加速更廣泛的社區(qū)采用,從而與提高內(nèi)存安全性的行業(yè)目標(biāo)保持一致,”谷歌 Android 平臺(tái)工具總監(jiān)Lars Bergstrom寫(xiě)道。

據(jù)該公司估計(jì),Rust 的使用已經(jīng)使谷歌的Android OS移動(dòng)操作系統(tǒng)受益匪淺,它可以防止內(nèi)存較少的安全語(yǔ)言可能出現(xiàn)的數(shù)百個(gè)漏洞。

5、Rust 代碼應(yīng)該能夠輕松調(diào)用 C++ 函數(shù)

為了將 Rust 融入到以 C++ 為主的代碼庫(kù)中,您需要通過(guò)包裝器庫(kù)、直接工具和構(gòu)建系統(tǒng)支持以及對(duì)應(yīng)用程序二進(jìn)制接口 (ABI) 的修改,為用 Rust 編寫(xiě)的功能提供與現(xiàn)有 C++ 庫(kù)交互的簡(jiǎn)單方法。

許多工作已經(jīng)完成。軟件咨詢(xún)公司KDAB創(chuàng)建了一組 Rust crate,稱(chēng)為cxx-qt  is,這將有助于通過(guò)Qt跨平臺(tái)開(kāi)發(fā)框架使用 C++ 的CMake構(gòu)建系統(tǒng)將 Rust 集成到 C++ 應(yīng)用程序中。

Google 本身已經(jīng)投資了Android 操作系統(tǒng)和 iChromium的互操作工具,包括autocxx、  bindgen、  cbindgen、  Diplomat和 crubit,

為了進(jìn)一步推動(dòng) Rust 的發(fā)展,Google 還匯總并發(fā)布了 對(duì)Google 項(xiàng)目中使用的 Rust 箱的審核。

圖片圖片

根據(jù) Google 的說(shuō)法,Rust 已經(jīng)可以通過(guò)現(xiàn)有的 C++ 綁定(例如 bindgen)使用許多 C++ 庫(kù)。

6、Rust 開(kāi)發(fā)者對(duì) C++ 感興趣

根據(jù) JetBrains 的《2023 年開(kāi)發(fā)者生態(tài)系統(tǒng)狀況》,11% 的 Rust 開(kāi)發(fā)者在使用 Rust 的同時(shí)使用 C++。

圖片圖片

事實(shí)上,23% 的 Rust 開(kāi)發(fā)人員已經(jīng)將應(yīng)用程序從 C++ 遷移到 Rust,占所有從其他語(yǔ)言遷移應(yīng)用程序而不是從新手開(kāi)始的 Rust 開(kāi)發(fā)人員的 35%。

圖片圖片

7、下一步計(jì)劃 

隨著Rust基金會(huì)開(kāi)始制定其互操作計(jì)劃,Rust項(xiàng)目的許多成員已經(jīng)為Rust互操作性做出了有意義的貢獻(xiàn),以及其他組織在這一領(lǐng)域所做的工作,如Rust Foundation Silver Member、KDAB與Qt的雙向Rust和C++綁定。

該倡議計(jì)劃由Rust 項(xiàng)目領(lǐng)導(dǎo)委員會(huì)起草了工作提案范圍,并聽(tīng)取 Rust 項(xiàng)目領(lǐng)導(dǎo)者和“相關(guān)”Rust 基金會(huì)成員組織及其董事會(huì)的意見(jiàn)。

當(dāng)然,計(jì)劃的完成少不了人員的支持。該計(jì)劃將希望聘請(qǐng)一些工程師來(lái)構(gòu)建更多集成點(diǎn),并為現(xiàn)有項(xiàng)目提供資金以繼續(xù)進(jìn)行。值得注意的是,該項(xiàng)目甚至可能會(huì)研究使用人工智能來(lái)加快進(jìn)程。

具體而言,“建議可能包括雇傭一名或多名Interop Initiative工程師,并可能包括提供資源以擴(kuò)大現(xiàn)有的互操作性工作、構(gòu)建系統(tǒng)集成、使用人工智能進(jìn)行C++到Rust的轉(zhuǎn)換,或所有這些的某種組合?!?/p>

參考鏈接:

https://thenewstack.io/google-spends-1-million-to-make-rust-c-interoperable/

https://www.theregister.com/2023/12/07/memory_correction_five_eyes/

https://www.theregister.com/2024/02/05/google_rust_donation/

責(zé)任編輯:武曉燕 來(lái)源: 51CTO技術(shù)棧
相關(guān)推薦

2022-06-01 14:02:47

谷歌Chrome 安全團(tuán)C++

2009-09-01 15:24:59

C++、C#和JAVA

2013-08-13 15:49:25

Bug谷歌

2021-12-14 11:03:32

Facebook收購(gòu)Meta

2021-04-12 10:38:51

CC++谷歌

2012-02-10 09:34:02

2024-03-01 12:03:00

AI模型

2023-11-17 11:40:51

C++內(nèi)存

2024-08-19 00:10:00

C++內(nèi)存

2024-02-26 07:26:27

RustC++開(kāi)發(fā)

2023-10-27 08:41:15

AI安全OpenAI

2022-02-09 15:24:06

SwiftC++開(kāi)發(fā)者

2021-09-24 10:11:36

Chrome安全漏洞谷歌

2009-08-28 10:14:45

C#內(nèi)存泄露

2024-07-26 00:22:34

2016-10-20 16:07:11

C++Modern C++異步

2025-02-08 10:15:09

2013-09-05 09:50:11

C++代碼優(yōu)化

2021-02-07 00:05:27

谷歌漏洞網(wǎng)絡(luò)安全

2019-01-23 09:19:51

GDPR數(shù)據(jù)保護(hù)谷歌
點(diǎn)贊
收藏

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