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

C和C++不安全?谷歌宣布Android加入對Rust語言支持

開發 開發工具
Rust 越來越流行,開始跨入 Android 領域。谷歌宣布 AOSP (Android Open Source Project) 現已支持使用 Rust 開發 Android 操作系統。

Android 系統涉及很多組件,開發者會根據正在開發的 Android 部分而選擇不同的編程語言。對于應用開發者來說,Java 和 Kotlin 是比較流行的選擇;而對于從事操作系統以及內部底層的開發人員來說,C 和 C++ 是比較好的選擇。

近日,谷歌為操作系統開發者增加了第 3 個選擇 Rust。谷歌發布博客稱 AOSP (Android Open Source Project) 現已支持使用 Rust 開發 Android 操作系統。

內存安全 bug

C 和 C++ 中的內存安全 bug 是最難解決的錯誤源。谷歌已經投入了大量的精力和資源來檢測、修復和緩解這類 bug,并有效地防止了大量 bug 進入 Android 版本。然而,盡管做出了這些努力,內存安全 bug 仍然是穩定性問題的主要原因,它在 Android 嚴重安全漏洞中長期占據大約 70% 的比例。

對于這些內存安全問題,谷歌表示除了優化內存錯誤檢測機制外,最有效的解決辦法是采用內存安全語言。Java 和 Kotlin 等托管語言是 Android 應用開發的最佳選擇。這些語言專為易于使用、可移植性和安全性而設計,它們是開發 Android 應用的最佳選擇。Android OS 廣泛使用 Java 語言,從而有效地保護了大部分 Android 平臺不受內存 bug 的影響。但對于操作系統的底層而言,不能選擇 Kotlin 和 Java。

較低層級的 OS 需要系統編程語言,如 C、C++ 和 Rust。這些語言設計時考慮到了可控和可預測性的目標。它們提供對低級系統資源和硬件的訪問,資源較少,并具有更可預測的性能特征。

對于 C 和 C++,開發人員負責管理內存生存期。遺憾的是,這樣做很容易出錯,特別是在復雜的多線程代碼庫中。

Rust 使用編譯時檢查(強制執行對象生命周期 / 所有權)和運行時檢查(確保內存訪問有效)的組合來提供內存安全保證。提供這種安全性的同時,Rust 的性能表現足以媲美 C 和 C++。

大約 50% 的錯誤發生在一年之內

谷歌表示,用 Rust 重寫數千萬行的 C 和 c++ Android 代碼根本不可行,而重寫舊的 Android 不會有太大影響,因為到目前為止舊代碼已經清除了大部分 bug。由于 Android 源代碼是一個擁有數十億用戶的開源項目,很多人都在關注它。大部分內存 bug 都發生在新的或最近修改過的代碼中,大約 50% 的錯誤發生在不到一年的時間里。必要時,Rust 將用于新組件,這將有助于減少谷歌可能引入的新內存 bug。

Android 內存 bug 圖表。舊代碼有很多 bug,現在已經修復了。

比較罕見的舊內存 bug 可能會讓人感到驚訝,但谷歌表示舊代碼并不是最迫切需要改進的地方。隨著時間的推移,軟件 bug 會被逐漸發現和修復,因此我們可以預期還在維護但未處于活躍開發狀態的代碼中的錯誤量會逐漸減少。

無論如何,向 Android 平臺添加新的開發語言支持是一項大工程。谷歌表示:「在過去的 18 個月里,我們一直在為 Android 開源項目添加 Rust 支持,在接下來的幾個月里,我們將分享一些早期采用 Rust 的項目。將 Rust 擴展到更多的 OS 是一個長期項目。」

參考鏈接:

  • https://arstechnica.com/gadgets/2021/04/google-is-now-writing-low-level-android-code-in-rust/
  • https://security.googleblog.com/2021/04/rust-in-android-platform.html
  • https://www.oschina.net/news/136467/rust-in-android-platform
  • https://www.cnbeta.com/articles/tech/1111455.htm

【本文是51CTO專欄機構“機器之心”的原創譯文,微信公眾號“機器之心( id: almosthuman2014)”】 

戳這里,看該作者更多好文

 

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2009-08-03 16:58:59

C#不安全代碼

2014-04-15 15:35:32

CC語言

2023-06-01 19:24:16

2023-09-07 10:50:22

2017-07-24 20:55:42

2023-02-03 16:31:33

2024-02-26 07:26:27

RustC++開發

2013-01-21 10:31:50

2010-01-18 16:27:26

C++語言

2021-04-30 12:04:57

Rust基金會Facebook編程語言

2015-07-01 14:48:51

2024-02-06 13:43:16

C++內存安全

2022-06-01 14:02:47

谷歌Chrome 安全團C++

2021-02-04 09:21:37

內存安全漏洞網絡安全

2020-09-18 06:44:57

MSVC微軟C11

2012-04-16 10:12:54

Java線程

2010-01-15 15:52:18

CC++

2010-01-15 10:41:06

CC++

2020-03-09 15:31:00

Android漏洞谷歌

2020-11-03 12:32:25

影子物聯網物聯網IOT
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线观看亚洲精品 | 国产高清视频 | 羞羞视频在线观看 | 日本三级精品 | 久久另类 | 高清久久久 | 亚洲人成免费 | 国产在线视频一区二区董小宛性色 | 国产精品久久久久无码av | 一区二区在线不卡 | 97国产精品视频 | 亚洲视频 欧美视频 | 黄色网址在线免费观看 | 亚洲欧美日韩在线 | 91精品国产欧美一区二区成人 | 久夜精品| 久久狠狠 | 欧美精品成人 | 国产999精品久久久久久 | 91观看| 奇米四色影视 | 情侣黄网站免费看 | 国产精品欧美一区二区 | 国产精品a久久久久 | 日韩a在线观看 | 日本亚洲一区 | 天天久| 午夜电影日韩 | 色视频网站 | 久久岛国 | www.99热.com | 婷婷综合久久 | 国产乱码精品一区二区三区中文 | 黄色在线观看网址 | 美女视频h | 91麻豆产精品久久久久久夏晴子 | 国产一区二区久久 | 91久久爽久久爽爽久久片 | 天堂综合| 亚洲欧美成人影院 | 狼色网|