Los binarios de Rust se pueden producir utilizando el tipo de módulo rust_binary
; Por ejemplo:
rust_binary {
name: "hello_rust",
srcs: ["src/hello_rust.rs"],
}
De manera similar, puede usar rust_binary_host
para proporcionar un módulo solo de host.
Propiedades oxidadas notables
Además de las propiedades comunes importantes , las siguientes propiedades también son importantes o exhiben un comportamiento único específico del tipo de módulo rust_binary
:
- static_executable : construye este binario como un binario estático e implica
prefer_rlib
estrue
. Los ejecutables totalmente estáticos sólo se pueden producir para objetivos biónicos. Para objetivos no biónicos, esto implica sólo queprefer_rlib
estrue
, pero aún vinculalibc
ylibdl
dinámicamente. - prefer_rlib : cambia el enlace
rustlibs
para seleccionar el enlacerlib
de forma predeterminada para los destinos de dispositivos y vinculalibstd
como unrlib
en los destinos de dispositivos. Tenga en cuenta que este es el comportamiento predeterminado para los destinos de host y no tiene ningún impacto en ellos.
Enlace
De forma predeterminada, los módulos rust_binary
que se dirigen a dispositivos siempre están vinculados dinámicamente con libstd
y, de forma predeterminada, preferirán las bibliotecas dylib
para las dependencias enumeradas en rustlibs
a menos que prefer_rlib
sea true
. Si se requieren binarios completamente estáticos, consulte la propiedad static_executable
.
Los módulos host siempre están vinculados estáticamente con libstd
y, de forma predeterminada, prefieren las bibliotecas rlib
para las dependencias que se enumeran en rustlibs
.