Moduły binarne

Pliki binarne Rusta można tworzyć przy użyciu modułu typu 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.

Godne uwagi właściwości rust_binary

Oprócz ważnych właściwości wspólnych następujące 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 sugeruje, że prefer_rlib ma true . W pełni statyczne pliki wykonywalne można tworzyć tylko dla celów bionicznych. W przypadku celów niebionicznych oznacza to jedynie, że prefer_rlib ma true , ale nadal dynamicznie łączy libc i libdl .
  • prefer_rlib : Zmienia powiązanie rustlibs aby domyślnie wybierać powiązanie rlib dla urządzeń docelowych i łączy libstd jako rlib na urządzeniach docelowych. Należy pamiętać, że jest to domyślne zachowanie obiektów docelowych hostów i nie ma na nie wpływu.

Połączenie

Domyślnie moduły rust_binary przeznaczone dla urządzeń są zawsze połączone dynamicznie z libstd i domyślnie będą preferować biblioteki dylib dla zależności wymienionych w rustlibs chyba że prefer_rlib ma true . Jeśli wymagane są w pełni statyczne pliki binarne, zobacz właściwość static_executable .

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