0Pricing
Learn Rust Coding · Lektion

Features und Profile

Bedingte Kompilierung

Features und Profile ist eine kostenlose Learn Rust Coding-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn Rust Coding-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn Rust Coding-Kurs umfasst insgesamt 4 Lektionen.

Was sind Features?

Features ermöglichen es, optionale Teile einer Crate zur Compile-Zeit zu aktivieren oder zu deaktivieren. Dadurch bleiben Crates flexibel: Aufrufende bezahlen nur für das, was sie verwenden.

Features deklarieren

Definieren Sie Features in der Tabelle [features]. Jedes Feature kann andere Features oder optionale Abhängigkeiten aktivieren.

[features]
default = ["json"]
json = []
fast_math = []

Bedingte Kompilierung

Sichern Sie Code mit dem Attribut cfg ab, damit er nur kompiliert wird, wenn ein Feature aktiviert ist.

#[cfg(feature = "json")]
fn export() {
    println!("Exporting as JSON");
}

fn main() {
    #[cfg(feature = "json")]
    export();
}

Features aktivieren

Aufrufende aktivieren Features in ihrer Abhängigkeitsdeklaration oder über die Befehlszeile.

[dependencies]
my_lib = { version = "1.0", features = ["fast_math"] }

Standard-Features

Das Feature default ist automatisch aktiviert. Deaktivieren Sie es mit default-features = false, um einen minimalen Build zu verwenden.

[dependencies]
my_lib = { version = "1.0", default-features = false }

Features über die CLI

Sie können Features auch für jeden Befehl ein- oder ausschalten, ohne das Manifest zu bearbeiten.

cargo build --features fast_math
cargo run --no-default-features
cargo test --all-features

Was sind Profile?

Profile steuern Compilereinstellungen wie den Optimierungsgrad und Debug-Informationen. Die beiden integrierten Profile sind dev (Debug) und release.

Das dev-Profil

Das Profil dev wird von cargo build verwendet. Es bevorzugt schnelle Kompilierung und gute Debugbarkeit gegenüber hoher Laufzeitgeschwindigkeit.

[profile.dev]
opt-level = 0
debug = true

Das release-Profil

Das Profil release (verwendet mit --release) aktiviert Optimierungen für schnelle Binärdateien.

[profile.release]
opt-level = 3
lto = true
strip = true

Ein Profil abstimmen

Sie können jedes Profil fein abstimmen. Aktivieren Sie beispielsweise in Dev-Builds ein gewisses Maß an Optimierung für eine höhere Laufzeitgeschwindigkeit, während Abhängigkeiten weiterhin schnell kompiliert werden.

[profile.dev]
opt-level = 1

[profile.dev.package."*"]
opt-level = 3

Optionale Abhängigkeiten als Features

Eine optionale Abhängigkeit erstellt implizit ein gleichnamiges Feature. Wenn Sie das Feature aktivieren, wird die Abhängigkeit eingebunden. So verwenden Nutzer umfangreichere Crates nur bei Bedarf.

[dependencies]
serde = { version = "1.0", optional = true }

[features]
serialize = ["dep:serde"]

Kurze Überprüfung

Welches Attribut kompiliert einen Codeblock nur, wenn ein Feature aktiviert ist?

Zusammenfassung

Sie haben Werkzeuge für die bedingte Kompilierung kennengelernt:

  • [features] deklariert optionale Funktionen
  • #[cfg(feature = ...)] schaltet Code abhängig von einem Feature frei
  • default-features = false aktiviert minimale Builds
  • Profile wie dev und release steuern Optimierung und Debug-Einstellungen

Häufig gestellte Fragen

Ist die Lektion „Features und Profile“ kostenlos?

Ja — der vollständige Text von „Features und Profile“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn Rust Coding-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn Rust Coding-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Features und Profile“?

Bedingte Kompilierung Du übst Learn Rust Coding mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Learn Rust Coding zu starten?

Keine Vorkenntnisse erforderlich. Learn Rust Coding auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Features und Profile“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Learn Rust Coding-Lektion Code schreiben und ausführen?

Ja. Jede Learn Rust Coding-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Cargo-Grundlagen
  2. Cargo.toml
  3. Workspaces
  4. Features und Profile
← Zurück zu Learn Rust Coding