Módulos binarios

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 es true . Los ejecutables totalmente estáticos sólo se pueden producir para objetivos biónicos. Para objetivos no biónicos, esto implica sólo que prefer_rlib es true , pero aún vincula libc y libdl dinámicamente.
  • prefer_rlib : cambia el enlace rustlibs para seleccionar el enlace rlib de forma predeterminada para los destinos de dispositivos y vincula libstd como un rlib 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 .