I file binari Rust possono essere prodotti utilizzando il tipo di modulo rust_binary; ad 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.
Proprietà rust_binary importanti
Oltre alle proprietà comuni importanti,
le seguenti proprietà sono importanti o presentano un comportamento univoco
specifico per il tipo di modulo rust_binary:
- static_executable: crea questo file binario come file binario statico e implica che
prefer_rlibsiatrue. I file eseguibili completamente statici possono essere prodotti solo per i target bionici. Per i target non bionici, ciò implica solo cheprefer_rlibsiatrue, ma collega comunquelibcelibdlin modo dinamico. - prefer_rlib: modifica il collegamento
rustlibsper selezionare il collegamentorlibper impostazione predefinita per i target dei dispositivi e collegalibstdcomerlibsui target dei dispositivi. Tieni presente che questo è il comportamento predefinito per i target host e non ha alcun impatto su di essi.
Collegamento
Per impostazione predefinita, i moduli rust_binary che hanno come target i dispositivi sono sempre collegati dinamicamente a libstd e per impostazione predefinita preferiscono le librerie dylib per le dipendenze elencate in rustlibs, a meno che prefer_rlib non sia true. Se sono necessari file binari completamente statici, consulta 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.