Moduli binari

I binari di Rust possono essere prodotti utilizzando il tipo di modulo rust_binary ; Per esempio:

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

Allo stesso modo, puoi utilizzare rust_binary_host per fornire un modulo solo host.

Notevoli proprietà ruggine_binarie

Oltre alle Importanti proprietà comuni , anche le seguenti proprietà sono importanti o mostrano un comportamento unico specifico per il tipo di modulo rust_binary :

  • static_executable : costruisce questo binario come binario statico e implica che prefer_rlib sia true . Gli eseguibili completamente statici possono essere prodotti solo per bersagli bionici. Per obiettivi non bionici, ciò implica solo che prefer_rlib è true , ma collega comunque libc e libdl in modo dinamico.
  • prefer_rlib : modifica il collegamento rustlibs per selezionare il collegamento rlib per impostazione predefinita per le destinazioni del dispositivo e collega libstd come rlib sulle destinazioni del dispositivo. Tieni presente che questo è il comportamento predefinito per le destinazioni host e non ha alcun impatto su di esse.

Collegamento

Per impostazione predefinita, i moduli rust_binary che prendono di mira i dispositivi sono sempre collegati dinamicamente a libstd e per impostazione predefinita preferiranno le librerie dylib per le dipendenze elencate in rustlibs a meno che prefer_rlib sia true . Se sono necessari file binari completamente statici, vedere la proprietà static_executable .

I moduli host sono sempre collegati staticamente a libstd e per impostazione predefinita preferiscono le librerie rlib per le dipendenze elencate in rustlibs .