一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C++之父:Rust等內(nèi)存安全語言的安全性并不優(yōu)于C++

OSC開源社區(qū) ? 來源:OSC開源社區(qū) ? 2023-02-06 10:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在美國國家安全局 (NSA) 建議組織從 C/C++ 切換到內(nèi)存安全語言 (如 C#、Rust、Go、Java、Ruby 或 Swift) 之后。C++ 之父 Bjarne Stroustrup 回應稱,在他看來,NSA 報告中提到的 “安全” 編程語言在重要應用程序中實際上并不優(yōu)于 C++。

Bjarne 指出,NSA 的這一判定忽略了 C/C++ 三十多年來的進步;且許多 C++ 的用例也停留在遙遠的過去而忽視了改進,其中就包括極大地提高安全性的方法。

現(xiàn)在,如果我認為這些 “安全” 語言中的任何一種在我關(guān)心的使用范圍內(nèi)都比 C++ 優(yōu)越,我就不會認為 C/C++ 的淡出是一件壞事,但事實并非如此。另外,正如所描述的那樣,“安全” 僅限于內(nèi)存安全,而忽略了一種語言可能(并且將會)被用來違反某種形式的安全和保障的十幾種其他方式。

9fba40c4-a566-11ed-bfe3-dac502259ad0.png

Bjarne 表示,自己幾十年來一直致力于實現(xiàn)更好、更安全、更高效的 C++。特別是關(guān)于 C++ Core Guidelines 的工作,旨在為有需要的人提供靜態(tài)保證的類型安全和資源安全的 C++。符合 C++ Core Guidelines 的良好靜態(tài)分析器可以為 C++ 代碼安全提供必要的保證,且比升級到更新的安全編程語言要簡單得多。

他批評 NSA 的報告只關(guān)注內(nèi)存處理問題,而忽略了許多其他影響項目安全性和可靠性的編程語言問題。并建議使用代碼注釋和編譯器選項來控制規(guī)則的包含,以確保類型和資源得到安全處理??紤]到可能對項目造成的破壞,他保證 C++ 社區(qū)不會忽視安全問題,但只關(guān)注安全問題也不行。因此他計劃列出一份可被視為安全問題(包括 UB)的問題清單,并找到預防這些問題的方法。

此外,Bjarne 在與日前 InfoWorld 的郵件溝通中補充道,“太多人談論神話般的 C/C++ 語言,但轉(zhuǎn)頭卻去關(guān)注 C 部分的弱點。許多這些弱點在 C++ 中是可以避免的,通常可以通過編寫更高效的代碼來更直接地表達程序員的意圖”。

郵件中 Bjarne 也分享了他對安全的定義:目標是類型和資源安全,即每個對象都根據(jù)其類型使用,沒有資源泄漏。對于 C++,這意味著一些運行時范圍檢查,消除通過懸空指針的訪問,并避免誤用強制轉(zhuǎn)換和聯(lián)合。C++ 提供 high-level 工具,例如容器、span、range-for 循環(huán)和變體,它們可以在不損害生產(chǎn)力或效率的情況下提供保證。關(guān)于 NSA 引用的所謂安全語言,Bjarne 則表示,所有這些語言都容易受到未經(jīng)靜態(tài)驗證的代碼的攻擊。此外,每個系統(tǒng)都必須使用硬件,而有效的硬件訪問很少是安全的。

Bjarne 還概述了他安全使用 C++ 的策略:

靜態(tài)分析以驗證沒有不安全的代碼被執(zhí)行。

簡化代碼的編碼規(guī)則,使工業(yè)規(guī)模的靜態(tài)分析可行。

使此類簡化代碼相當容易編寫并確保在需要時進行運行時檢查的庫。

目前共存在數(shù)百萬 C++ 程序員和數(shù)十億行 C++ 代碼,該語言目前的主要用途包括航空航天、醫(yī)療儀器、人工智能 / 機器學習、生物醫(yī)學、高能物理學等。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2119

    瀏覽量

    75299
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70729
  • Rust
    +關(guān)注

    關(guān)注

    1

    文章

    234

    瀏覽量

    7096

原文標題:C++ 之父:Rust等內(nèi)存安全語言的安全性并不優(yōu)于C++

文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    C++程序設計原理與實踐》(C++之父最新力作)

    `《C++程序設計原理與實踐》(C++之父最新力作)`
    發(fā)表于 08-19 16:30

    C語言C++運用

    。是世界上使用最廣泛的編程語言之一。C++ 之父 —— Bjarne Stroustrup隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,C/C++ 技術(shù)在網(wǎng)絡通信(
    發(fā)表于 11-25 10:47

    OpenHarmony應用開發(fā)為什么不首選C/C++作為應用開發(fā)語言

    OpenHarmony本來就是CC++開發(fā)的,支持C/C++語言環(huán)境。應用開發(fā)為什么不首選C/
    發(fā)表于 03-17 10:30

    OpenHarmony為什么不首選C/C++作為應用開發(fā)語言?

    OpenHarmony本來就是CC++開發(fā)的,支持C/C++語言環(huán)境。應用開發(fā)為什么不首選C/
    發(fā)表于 06-01 11:30

    如何提高cc++安全編程能力?《CC++安全編碼》帶你詳細學習

    ,既詳細闡述了C/C++語言及其相關(guān)庫固有的安全問題和陷阱,系統(tǒng)總結(jié)了導致軟件漏洞的各種常見編碼錯誤,并給出了應對錯誤的解決方案;又對C/
    發(fā)表于 08-28 08:00 ?0次下載

    微軟未來將使用 Rust 作為 C、C++ 以及其他編程語言的替代方案

    為了解決內(nèi)存安全問題,需要采取幾種不同的方式。C++ 中的 “現(xiàn)代” 構(gòu)造(例如 span)能夠在一定程度上預防某些內(nèi)存安全問題。此外,我們
    的頭像 發(fā)表于 07-27 07:50 ?5801次閱讀

    微軟開始嘗試使用Rust代替C/C++,介紹這些運用Rust的產(chǎn)品

    微軟擁有世界上最大的C/C++代碼庫之一。從Windows、Office到Azure云,微軟的所有核心產(chǎn)品都在該代碼庫上運行。但因為C++不是內(nèi)存
    的頭像 發(fā)表于 09-03 10:09 ?4408次閱讀

    C語言C++相互調(diào)用

    ? ? 1CC++相互調(diào)用 在一個嵌入式系統(tǒng)中大部分的底層和驅(qū)動層更多的是采用C語言來進行開發(fā),而上層應用、服務更多的采用C++等高級
    的頭像 發(fā)表于 01-18 11:05 ?3633次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>與<b class='flag-5'>C++</b>相互調(diào)用

    C++語言的發(fā)展

    今年的CPP North C++大會上,谷歌宣布了一門新的編程語言Carbon,并稱其將是“C++的繼任者”。
    發(fā)表于 08-15 14:22 ?789次閱讀

    Rust語言助力Android內(nèi)存安全漏洞大幅減少

    從 Android 12 開始,Google 就在 Android 系統(tǒng)中帶來了 Rust 語言的支持,作為 C/C++ 的替代方案,他們的目標并不
    發(fā)表于 12-06 17:56 ?776次閱讀

    RustC++哪個更好入門

    作為一門系統(tǒng)編程語言Rust 一直致力于解決高并發(fā)和高安全性系統(tǒng)問題。和老牌的 C++ 相比,Rus
    的頭像 發(fā)表于 03-17 14:45 ?2394次閱讀

    取代C++!微軟用Rust改寫的Win11內(nèi)核來了

    按照微軟此前介紹,Rust 語言的優(yōu)勢在于極高的內(nèi)存安全性,原來內(nèi)核中大量的不安全的子例程在改寫后消失不見。同時,
    的頭像 發(fā)表于 05-19 16:58 ?1669次閱讀
    取代<b class='flag-5'>C++</b>!微軟用<b class='flag-5'>Rust</b>改寫的Win11內(nèi)核來了

    使用C++編寫通用庫并在 Rust 中使用它 (WASI)

    的速度運行代碼。它不特定于網(wǎng)絡,也可以在其他平臺上運行。WebAssembly 代碼可以從各種編程語言編譯而來,例如 C、C++、Rust、C
    的頭像 發(fā)表于 06-16 10:03 ?1507次閱讀
    使用<b class='flag-5'>C++</b>編寫通用庫并在 <b class='flag-5'>Rust</b> 中使用它 (WASI)

    C++之父新作帶你勾勒現(xiàn)代C++地圖

    為了幫助大家解決這些痛點問題,讓大家領(lǐng)略現(xiàn)代C++之美,掌握其中的精髓,更好地使用C++,C++之父Bjarne Stroustrup坐不住了,他親自操刀寫就了這本《
    的頭像 發(fā)表于 10-30 16:35 ?1294次閱讀
    <b class='flag-5'>C++</b><b class='flag-5'>之父</b>新作帶你勾勒現(xiàn)代<b class='flag-5'>C++</b>地圖

    谷歌捐款100萬美元給Rust基金會,以增強C++Rust的交互

    如今,谷歌多項核心業(yè)務仍以 C++為主要編程語言,雖然無法直接使用Rust替代現(xiàn)有的C++程序,但谷歌依然選擇支持Rust基金會的“Inte
    的頭像 發(fā)表于 02-19 15:41 ?928次閱讀