Rust 二進位檔案可以使用rust_binary
模組類型產生;例如:
rust_binary {
name: "hello_rust",
srcs: ["src/hello_rust.rs"],
}
同樣,您可以使用rust_binary_host
提供僅主機模組。
值得注意的 rust_binary 屬性
除了重要的通用屬性之外,以下屬性也很重要,或表現出特定於rust_binary
模組類型的獨特行為:
- static_executable :將此二進位檔案建構成靜態二進位文件,並暗示
prefer_rlib
為true
。只能為仿生目標產生完全靜態的可執行檔。對於非仿生目標,這僅意味著prefer_rlib
為true
,但它仍然動態連結libc
和libdl
。 - Preferred_rlib :更改
rustlibs
連結以預設為裝置目標選擇rlib
鏈接,並將libstd
連結為裝置目標上的rlib
。請注意,這是主機目標的預設行為,對它們沒有影響。
連鎖
預設情況下,以裝置為導向的rust_binary
模組會始終動態連結到libstd
,並且預設會首選dylib
函式庫來取得rustlibs
中列出的依賴項,除非prefer_rlib
為true
。如果需要完全靜態的二進位文件,請參閱static_executable
屬性。
主機模組始終與libstd
靜態鏈接,並且預設情況下更喜歡rlib
庫來獲取rustlibs
中列出的依賴項。