Comprehensive Rust(繁体中文) 202406
高靈活性。 • 提供高度主控權。 • 可縮減到十分受限的裝置規模,例如微控制器。 • 沒有執行階段,也不使用垃圾收集機制。 • 著重可靠性和安全性,但不犧牲效能。 4.2 Rust 的優點 Rust 的幾個獨特賣點如下: 21 • 「編譯期的記憶體安全性」- 在編譯期間就能避免各類記憶體錯誤 – 不會產生未初始化的變數。 – 不會導致重複釋放記憶體。 – 不會使用已釋放的記憶體。 – 不會產生 研究顯示,程式設計師難免會出錯。 • 透過在執行階段中自動管理記憶體,取得完整安全性:Java、Python、Go、Haskell... – 執行階段系統會確保在可以參照記憶體之後,才釋出記憶體。 – 通常透過參照計算、垃圾收集或 RAII 的方式實作。 Rust 則融合這兩種做法: 97 透過正確的記憶體管理編譯時間強制執行措施, 「同時」取得完整的掌控權和安全性。 Rust 運用明確所有權的概念實現這一點。 會納入值,並允許取得或設定該值,即使具有對 Cell 的共用參照也一樣。但是,它不允許對該值進 行任何參照。由於沒有參照,因此借用規則不得違反。 這張投影片的重點是 Rust 提供「安全的」方法,可讓您修改共用參照背後的資料。要確保安全性有許多方 式,而 RefCell 和 Cell 是其中兩種方法。 • RefCell 會透過執行階段檢查,強制使用 Rust 的一般借用規則 (多個共用參照或單一專屬參照)。 在本例中,所有借用都0 码力 | 356 页 | 1.41 MB | 1 年前3
共 1 条
- 1