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_rlibma wartośćtrue. W przypadku platformy Bionic można tworzyć tylko w pełni statyczne pliki wykonywalne. W przypadku celów niebiologicznych oznacza to tylko, żeprefer_rlibjest równetrue, ale nadal dynamicznie łączylibcilibdl. - prefer_rlib: zmienia domyślne
rustlibspołączenie narlibpołączenie w przypadku kierowania na urządzenia i łączylibstdjakorlibw 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.