Pliki binarne Rust można wygenerować za pomocą typu modułu rust_binary
, na przykład:
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.
Właściwości rust_binary
Oprócz ważnych wspólnych właściwości te właściwości są również ważne lub mają unikalne zachowanie specyficzne dla typu modułu rust_binary
:
- static_executable: tworzy ten plik binarny jako statyczny plik binarny i zakłada, że
prefer_rlib
totrue
. Pełne pliki wykonywalne można generować tylko w przypadku celów bionicznych. W przypadku celów niebędących celami bionicznymi oznacza to tylko, żeprefer_rlib
jesttrue
, ale nadal dynamicznie łączylibc
ilibdl
. - prefer_rlib: zmienia
rustlibs
narlib
, aby domyślnie wybierać tę drugą funkcję w przypadku kierowania na urządzenia, oraz łączylibstd
jakorlib
w przypadku kierowania na urządzenia. Pamiętaj, że jest to domyślne zachowanie w przypadku docelowych hostów i nie ma na nie wpływu.
Połączenie
Domyślnie moduły rust_binary
, które kierują reklamy na urządzenia, są zawsze dynamicznie łączone z poziomem libstd
i domyślnie preferują biblioteki dylib
dla zależności wymienionych w poziomie rustlibs
, chyba że prefer_rlib
ma wartość true
. Jeśli wymagane są całkowicie statyczne pliki binarne, zapoznaj się z właściwością static_executable
.
Moduły hosta są zawsze łączone statycznie z libstd
i domyślnie preferują biblioteki rlib
dla zależności wymienionych w rustlibs
.