在 Chromium 中使用 CXX
在 Chromium 中,我們會為每個要使用 Rust 的葉節點定義獨立的 #[cxx::bridge] mod
。每個 rust_static_library
通常都需要一個值。只要將下列項目
cxx_bindings = [ "my_rust_file.rs" ]
# 含有 #[cxx::bridge] 的檔案列表,而非所有原始碼檔案
allow_unsafe = true
新增至現有的 rust_static_library
目標,並搭配 crate_root
和 sources
。
C++ 標頭會在合理位置產生,因此您只需採用下列程式碼:
#include "ui/base/my_rust_file.rs.h"
您會在 //base
中發現一些公用函式,可將 Chromium C++ 型別轉換成 CXX Rust 型別,逆向轉換也可以,例如 SpanToRustSlice
。