
Cargo & Ecosystem
Cargo-Befehle, Abhängigkeiten, Features, Build-Skripte, Workspaces, crates.io, Dokumentation
1Welcher Cargo-Befehl kompiliert ein Projekt, ohne eine endgültige ausführbare Datei zu erstellen?
Welcher Cargo-Befehl kompiliert ein Projekt, ohne eine endgültige ausführbare Datei zu erstellen?
Antwort
Der Befehl cargo check kompiliert den Code, um Fehler zu prüfen, ohne eine endgültige Binärdatei zu erzeugen. Dieser Befehl ist viel schneller als cargo build, weil er den Schritt der Maschinencode-Generierung überspringt. Er eignet sich ideal während der Entwicklung, um schnell zu validieren, dass der Code korrekt kompiliert.
2Wie spezifiziert man in Cargo.toml eine Abhängigkeit mit einer Mindestversion von 1.2.0, aber kleiner als 2.0.0?
Wie spezifiziert man in Cargo.toml eine Abhängigkeit mit einer Mindestversion von 1.2.0, aber kleiner als 2.0.0?
Antwort
Die Syntax serde = "1.2" verwendet die standardmäßige semantische Versionierung von Cargo. Sie bedeutet, dass Cargo jede mit 1.2.0 kompatible Version akzeptiert, also >= 1.2.0 und < 2.0.0. Diese Notation ist gleichbedeutend mit serde = "^1.2" und ist die idiomatische Art, Abhängigkeiten in Rust anzugeben.
3Welche Rolle spielt die Cargo.lock-Datei in einem Rust-Projekt?
Welche Rolle spielt die Cargo.lock-Datei in einem Rust-Projekt?
Antwort
Die Cargo.lock-Datei zeichnet die exakten Versionen aller Abhängigkeiten auf, die bei der letzten erfolgreichen Kompilierung verwendet wurden. Dies gewährleistet reproduzierbare Builds, indem auf verschiedenen Maschinen genau dieselben Versionen verwendet werden. Bei Bibliotheken wird diese Datei in git üblicherweise ignoriert, bei Binärdateien und Anwendungen sollte sie jedoch versioniert werden.
Wie definiert man ein optionales Feature in Cargo.toml?
Wozu dient die Datei build.rs im Stammverzeichnis eines Cargo-Projekts?
+15 Interview-Fragen
Weitere Rust-Interviewthemen
Rust-Grundlagen
Ownership & Borrowing
Structs & Enums
Fehlerbehandlung
Collections
Module & Packages
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Pattern Matching
Makros
Serde & Serialisierung
Unsafe Rust
Fortgeschrittene Traits
Fortgeschrittene Lifetimes
Type System
Tokio & Async I/O
Performance-Optimierung
Memory Management
Web Frameworks
Database Integration
Rust Design Patterns
Meistere Rust für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten