新增第三方 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.