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, żeprefer_rlib
jest równetrue
, ale nadal dynamicznie łączylibc
ilibdl
. - prefer_rlib: zmienia domyślne
rustlibs
połączenie narlib
połączenie w przypadku kierowania na urządzenia i łączylibstd
jakorlib
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
.