您可以使用 rust_binary
模組類型產生 Rust 二進位檔,例如:
rust_binary {
name: "hello_rust",
srcs: ["src/hello_rust.rs"],
}
同樣地,您也可以使用 rust_binary_host
提供僅限主機的模組。
值得注意的 rust_binary 屬性
除了重要共用屬性之外,下列屬性也相當重要,或會顯示 rust_binary
模組類型的特殊行為:
- static_executable:將此二進位檔建構為靜態二進位檔,並暗示
prefer_rlib
為true
。您只能為 Bionic 目標產生完全靜態可執行檔。對於非 Bionic 目標,這只表示prefer_rlib
是true
,但仍會動態連結libc
和libdl
。 - prefer_rlib:變更
rustlibs
連結,讓系統預設為裝置目標選取rlib
連結,並將libstd
連結為裝置目標的rlib
。請注意,這是主機目標的預設行為,不會對主機目標造成任何影響。
連結
根據預設,指定裝置的 rust_binary
模組一律會動態連結至 libstd
,且預設會偏好 rustlibs
中列出的依附元件的 dylib
程式庫,除非 prefer_rlib
為 true
。如果需要完全靜態的二進位檔,請參閱 static_executable
屬性。
主機模組一律會靜態連結至 libstd
,且預設會偏好 rlib
程式庫,以便使用 rustlibs
中列出的依附元件。