cfg
Konfigürasyon koşullu kontrolleri iki farklı operatör aracılığıyla mümkündür:
cfg
özelliği:#[cfg(...)]
özellik konumundaykencfg!
macro'su:cfg!(...)
boolean ifadeyken
Birincisi koşullu derlemeyi mümkün kılarken, ikincisi koşullu olarak true
(doğru) veya false
(yanlış) değişmez değerlerle çalışma zamanında kontrollere izin verir. Her ikisi de aynı söz dizimini kullanır.
// Bu fonksiyon yalnızca hedef işletim sistemi linux ise derlenir #[cfg(target_os = "linux")] fn are_you_on_linux() { println!("You are running linux!"); } // Ve bu fonksiyon yalnızca hedef işletim sistemi linux *değilse* derlenir #[cfg(not(target_os = "linux"))] fn are_you_on_linux() { println!("You are *not* running linux!"); } fn main() { are_you_on_linux(); println!("Are you sure?"); if cfg!(target_os = "linux") { println!("Yes. It's definitely linux!"); } else { println!("Yes. It's definitely *not* linux!"); } }
Ayrıca bakın:
İngilizce referans, cfg!
, ve macro'lar.