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.