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 podać tylko host .

Ważne właściwości Ruust_binary

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

  • static_executable: kompiluje ten plik binarny jako statyczny plik binarny i sugeruje prefer_rlibtrue. W pełni statyczne pliki wykonywalne mogą być tworzone tylko dla celów bionicznych. W przypadku celów niebionicznych oznacza to tylko, że prefer_rlib to true, ale nadal łączy parametry libc i libdl dynamicznie.
  • prefer_rlib: zmienia połączenie z rustlibs, by wybrać połączenie z usługą rlib. domyślnie dla urządzeń docelowych i łączy libstd jako rlib na urządzeniu celów. Pamiętaj, że jest to domyślne działanie w przypadku celów hostów. nie ma na nie żadnego wpływu.

Połączenie

Domyślnie moduły rust_binary kierowane na urządzenia są zawsze połączone dynamicznie w porównaniu z libstd i domyślnie preferuje biblioteki dylib zależności wymienione w tabeli rustlibs, chyba że prefer_rlib ma wartość true. Jeśli w pełni statyczne pliki binarne są wymagane – zobacz właściwość static_executable.

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