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
siatrue
. Gli eseguibili completamente statici possono essere prodotti solo per bersagli bionici. Per obiettivi non bionici, ciò implica solo cheprefer_rlib
ètrue
, ma collega comunquelibc
elibdl
in modo dinamico. - prefer_rlib : modifica il collegamento
rustlibs
per selezionare il collegamentorlib
per impostazione predefinita per le destinazioni del dispositivo e collegalibstd
comerlib
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
.