Warum sind Rust-Executables so groß?

achdem ich Rust gefunden und die ersten beiden Kapitel der Dokumentation gelesen habe, finde ich den Ansatz und die Art und Weise, wie sie die Sprache definiert haben, besonders interessant. Also beschloss ich, meine Finger nass zu machen und begann mit Hello World ...

Ich habe das übrigens unter Windows 7 x64 getan.

fn main() {
    println!("Hello, world!");
}

Ausgabecargo build und das Ergebnis in @ suchtargets\debug Ich habe das resultierende @ gefund.exe 3MB sein. Nach einigem Suchen (Dokumentation der Frachtbefehlszeilenflaggen ist schwer zu finden ...) fand ich--release Option und erstellte das Release Build. Zu meiner Überraschung ist die .exe-Größe nur unwesentlich kleiner geworden: 2,99 MB statt 3 MB.

So, ich gestehe ein, dass ich ein Neuling in Rust und seinem Ökosystem bin, wäre meine Erwartung gewesen, dass eine Systemprogrammiersprache etwas Kompaktes hervorbringen würde.

Kann jemand genauer erläutern, wozu Rust kompiliert, wie es möglich sein kann, dass es so große Bilder aus einem 3-Zeilen-Programm erzeugt? Kompiliert es auf eine virtuelle Maschine? Gibt es einen Strip-Befehl, den ich verpasst habe (Debug-Informationen im Release-Build?)? Gibt es sonst noch etwas, das es erlauben könnte zu verstehen, was los ist?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage