Einführung
In diesem Lab haben wir einen Codeausschnitt, der eine Funktion namens conditional_function() enthält, aber diese wird nur kompiliert und ausgeführt, wenn eine benutzerdefinierte Bedingung namens some_condition an rustc über das Flag --cfg übergeben wird.
Hinweis: Wenn das Lab keinen Dateinamen angibt, können Sie einen beliebigen Dateinamen verwenden. Beispielsweise können Sie
main.rsverwenden und es mitrustc main.rs &&./mainkompilieren und ausführen.
Anpassung
Einige Bedingungen wie target_os werden von rustc implizit bereitgestellt, aber benutzerdefinierte Bedingungen müssen an rustc über das Flag --cfg übergeben werden.
#[cfg(some_condition)]
fn conditional_function() {
println!("Bedingung erfüllt!");
}
fn main() {
conditional_function();
}
Versuchen Sie, dies auszuführen, um zu sehen, was passiert, wenn das benutzerdefinierte cfg-Flag fehlt.
Mit dem benutzerdefinierten cfg-Flag:
$ rustc --cfg some_condition custom.rs && ./custom
Bedingung erfüllt!
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Anpassungslab abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.