módulos binários

Binários Rust podem ser produzidos usando o tipo de módulo rust_binary ; por exemplo:

rust_binary {
    name: "hello_rust",
    srcs: ["src/hello_rust.rs"],
}

Da mesma forma, você pode usar rust_binary_host para fornecer um módulo somente host.

Propriedades notáveis ​​de ferrugem_binary

Além das propriedades comuns importantes , as propriedades a seguir também são importantes ou exibem um comportamento exclusivo específico para o tipo de módulo rust_binary :

  • static_executable : Constrói este binário como um binário estático e implica prefer_rlib é true . Executáveis ​​totalmente estáticos só podem ser produzidos para alvos biônicos. Para alvos não biônicos, isso implica apenas que prefer_rlib é true , mas ainda vincula libc e libdl dinamicamente.
  • prefer_rlib : altera a ligação rustlibs para selecionar a ligação rlib por padrão para destinos de dispositivos e vincula libstd como um rlib em destinos de dispositivos. Observe que este é o comportamento padrão para destinos de host e não tem impacto sobre eles.

Ligação

Por padrão, os módulos rust_binary direcionados a dispositivos são sempre vinculados dinamicamente ao libstd e, por padrão, preferirão bibliotecas dylib para dependências listadas em rustlibs , a menos que prefer_rlib seja true . Se forem necessários binários totalmente estáticos, consulte a propriedade static_executable .

Os módulos host são sempre vinculados estaticamente ao libstd e, por padrão, preferem bibliotecas rlib para dependências listadas em rustlibs .