Moduły binarne

Pliki binarne Rust można tworzyć za pomocą typu modułu rust_binary, np.:

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

Podobnie możesz użyć rust_binary_host, aby udostępnić moduł tylko dla hosta.

Ważne właściwości rust_binary

Oprócz ważnych właściwości wspólnych te właściwości są również ważne lub wykazują unikalne zachowanie specyficzne dla typu modułu rust_binary:

  • static_executable: tworzy ten plik binarny jako statyczny plik binarny i oznacza, że prefer_rlib ma wartość true. W przypadku platformy Bionic można tworzyć tylko w pełni statyczne pliki wykonywalne. W przypadku celów niebiologicznych oznacza to tylko, że prefer_rlib jest równe true, ale nadal dynamicznie łączy libclibdl.
  • prefer_rlib: zmienia domyślne rustlibs połączenie na rlib połączenie w przypadku kierowania na urządzenia i łączy libstd jako rlib w przypadku kierowania na urządzenia. Pamiętaj, że jest to domyślne działanie w przypadku hostów docelowych i nie ma na nie wpływu.

Połączenie

Domyślnie moduły rust_binary, które są kierowane na urządzenia, są zawsze łączone dynamicznie z libstd i domyślnie preferują biblioteki dylib w przypadku zależności wymienionych w rustlibs, chyba że prefer_rlib ma wartość true. Jeśli wymagane są w pełni statyczne pliki binarne, zapoznaj się z opisem właściwości static_executable.

Moduły hosta są zawsze łączone statycznie z libstd i domyślnie preferują biblioteki rlib w przypadku zależności wymienionych w rustlibs.