Pakete & Crates
Was ist eine Crate?
Eine Crate ist die kleinste Menge an Code, die der Rust-Compiler auf einmal betrachtet. Es gibt zwei Arten:
- Binary-Crate: kompiliert zu einer ausführbaren Datei (ein
main.rs). Jede Binary-Crate hat einemain-Funktion. - Library-Crate: kompiliert zu einer Bibliothek (ein
lib.rs), die andere Programme importieren können. Sie hat keinemain-Funktion.
Was ist ein Paket?
Ein Paket (package) ist ein Bundle aus einer oder mehreren Crates plus einer
Cargo.toml-Datei. Ein Paket kann enthalten:
- eine Binary-Crate oder eine Library-Crate, oder beides
- mehrere Binary-Crates (in
src/bin/)
Standardmäßig interpretiert Cargo src/main.rs als Binary- und src/lib.rs als
Library-Crate. src/main.rs ist die Crate-Root — das Modul, in dem alles
beginnt.
Die Crate-Root ist der Anfang
Die Crate-Root ist die Quelldatei, von der aus der Compiler startet und aus
der dein Modulbaum wächst (src/main.rs oder src/lib.rs). Alles in deiner
Crate hängt an dieser Wurzel. Der Compiler beginnt dort und folgt den
mod-Deklarationen.
📝 Schnellprüfung
Was ist der Unterschied zwischen einer Binary- und einer Library-Crate?
✅ Wichtige Erkenntnisse
Haken setzen, um deinen Lernfortschritt zu markieren: