Los binarios de Rust se pueden producir usando el tipo de módulo rust_binary
; por ejemplo, como se muestra a continuación:
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 notables de rust_binary
Además de las propiedades comunes importantes , las siguientes propiedades también son importantes o exhiben un comportamiento único específico para el tipo de módulo rust_binary
:
- static_executable : crea este binario como un binario estático e implica que
prefer_rlib
estrue
. Los ejecutables completamente estáticos solo se pueden producir para objetivos biónicos. Para objetivos no biónicos, esto solo implica queprefer_rlib
estrue
, pero aún vinculalibc
ylibdl
dinámicamente. - prefer_rlib : cambia el vínculo de
rustlibs
para seleccionar el vínculo derlib
de forma predeterminada para los dispositivos de destino y vinculalibstd
como unrlib
en los dispositivos de destino. Tenga en cuenta que este es el comportamiento predeterminado para los destinos de host y, como tal, no tiene impacto en ellos.
Enlace
De forma predeterminada, los módulos rust_binary
que se dirigen a dispositivos siempre se vinculan 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 archivos binarios totalmente 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
.