Nachdem 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 gemacht.
fn main() {
println!("Hello, world!");
}
Als ich cargo build
das Ergebnis herausgab und betrachtete, stellte targets\debug
ich fest, dass das Ergebnis .exe
3 MB betrug. Nach einigem Suchen (Dokumentation der Frachtbefehlszeilenflags ist schwer zu finden ...) habe ich die --release
Option gefunden und den Release-Build erstellt. Zu meiner Überraschung ist die EXE-Größe nur unwesentlich kleiner geworden: 2,99 MB statt 3 MB.
Als ich gestand, dass ich ein Neuling in Rust und seinem Ökosystem bin, hätte ich erwartet, dass eine Systemprogrammiersprache etwas Kompaktes hervorbringen würde.
Kann jemand näher erläutern, woraus Rust kompiliert und wie es möglich sein kann, dass aus einem 3-Liner-Programm so große Bilder erzeugt werden? Wird es zu einer virtuellen Maschine kompiliert? Gibt es einen Strip-Befehl, den ich verpasst habe (Debug-Informationen im Release-Build?)? Gibt es noch etwas, das es erlauben könnte zu verstehen, was los ist?