二進制模塊

Rust 二進位檔案可以使用rust_binary模組類型產生;例如:

rust_binary {
    name: "hello_rust",
    srcs: ["src/hello_rust.rs"],
}

同樣,您可以使用rust_binary_host提供僅主機模組。

值得注意的 rust_binary 屬性

除了重要的通用屬性之外,以下屬性也很重要,或表現出特定於rust_binary模組類型的獨特行為:

  • static_executable :將此二進位檔案建構成靜態二進位文件,並暗示prefer_rlibtrue 。只能為仿生目標產生完全靜態的可執行檔。對於非仿生目標,這僅意味著prefer_rlibtrue ,但它仍然動態連結libclibdl
  • Preferred_rlib :更改rustlibs連結以預設為裝置目標選擇rlib鏈接,並將libstd連結為裝置目標上的rlib 。請注意,這是主機目標的預設行為,對它們沒有影響。

連鎖

預設情況下,以裝置為導向的rust_binary模組會始終動態連結到libstd ,並且預設會首選dylib函式庫來取得rustlibs中列出的依賴項,除非prefer_rlibtrue 。如果需要完全靜態的二進位文件,請參閱static_executable屬性。

主機模組始終與libstd靜態鏈接,並且預設情況下更喜歡rlib庫來獲取rustlibs中列出的依賴項。