新增第三方 Crate

Rust 程式庫稱為「Crate」,位於 crates.io。Rust Crate「非常容易」互相依附,所以它們也確實常常這麼做!

資源C++ 函式庫Rust crate
建構系統非常多一致:Cargo.toml
一般程式庫大小偏大
遞移依附元件很少非常多

對 Chromium 工程師來說,這有以下優缺點:

  • 所有 Crate 都使用通用的建構系統,因此我們可以自動將其納入 Chromium...
  • ...但 Crate 通常具有遞移依附元件,因此可能需要導入多個程式庫。

我們將探討以下內容:

  • 如何在 Chromium 原始碼樹中加入 Crate
  • 如何為其建立 gn 建構規則
  • 如何稽核原始碼,確保足夠安全
All of the things in the table on this slide are generalizations, and counter-examples can be found. But in general it's important for students to understand that most Rust code depends on other Rust libraries, because it's easy to do so, and that this has both benefits and costs.