FIDL 是 Fuchsia 中結構化 IPC 的主要機制。最簡便 如要透過 Rust 使用 FIDL,請產生「FIDL Crate」從 FIDL 程式庫 然後從 Rust 程式庫或二進位檔匯入
請參閱 FIDL Rust 繫結以瞭解 瞭解不同的 FIDL 結構如何對應至其 Rust 對等項目。 FIDL Rust 教學課程提供 Rust 使用範例 繫結。
建立操作說明
如果 FIDL 程式庫定義了 GN fidl
規則,
系統會自動根據
原始目標名稱的後方加上 _rust
。對系統的遞移依附元件
系統會自動解析其他 FIDL 程式庫。
舉例來說,如果是以下宣告:
# //src/tictactoe/BUILD.gn
fidl("games.tictactoe") { ... }
FIDL Crate 目標為
//src/tictactoe:games.tictactoe_rust
。如要使用 FIDL Crate,
將指定目標加到deps
rustc_*
建構規則
適合 Rust Crate例如:
rustc_binary("tictactoe") {
# ...
deps = ["//src/tictactoe:games.tictactoe_rust"]
}
Rust Crate 將命名為 fidl_games_tictactoe
,其項目現在可以
已匯入:
use fidl_games_tictactoe::BOARD_SIZE;
在 Fuchsia 樹狀結構中,常用的 FIDL Crate 通常稱為 縮短名稱以求精簡,如下所示:
use fidl_fuchsia_io as fio;
use fidl_fuchsia_data as fdata;
產生的文件
可自動處理 HTML 格式的說明文件
為 FIDL Crate 產生。fx rustdoc
例如:
fx rustdoc //src/tictactoe:games.tictactoe_rust --open
公開 Fuchsia 來源樹狀結構中的 FIDL Crate 發布於 Fuchsia Rust API 參考資料。
產生的 Rust 程式碼
如要手動檢查為 FIDL Crate 產生的 Rust 程式碼,Rust
您可以透過 BUILD_DIR/fidling/gen
取得來源檔案 (請參閱
「產生的程式碼指南」)。請注意,
FIDL Crate 必須先建構 (例如使用 fx build
)。