Ayant juste trouvé Rust et ayant lu les deux premiers chapitres de la documentation, je trouve l'approche et la façon dont ils ont défini le langage particulièrement intéressantes. J'ai donc décidé de me mouiller les doigts et j'ai commencé avec Hello world ...
Je l'ai fait sur Windows 7 x64, btw.
fn main() {
println!("Hello, world!");
}
En émettant cargo build
et en regardant le résultat, targets\debug
j'ai trouvé que le résultat .exe
était 3MB. Après quelques recherches (la documentation des drapeaux de la ligne de commande de fret est difficile à trouver ...), j'ai trouvé l' --release
option et créé la version de version. À ma grande surprise, la taille du .exe n'est devenue plus petite que d'un montant insignifiant: 2,99 Mo au lieu de 3 Mo.
Donc, en admettant que je suis un débutant dans Rust et son écosystème, je m'attendais à ce qu'un langage de programmation système produise quelque chose de compact.
Quelqu'un peut-il expliquer ce que Rust compile, comment il peut être possible de produire des images aussi énormes à partir d'un programme 3 lignes? S'agit-il d'une compilation sur une machine virtuelle? Y a-t-il une commande de bande que j'ai manquée (informations de débogage dans la version de version?)? Y a-t-il autre chose qui pourrait permettre de comprendre ce qui se passe?