cfg

Условная конфигурация возможна при помощи двух разных операторов:

• атрибута cfg: #[cfg(...)], который указывается на месте атрибута

• макроса cfg!: cfg!(...), который можно использовать в условных выражениях

В то время как первый атрибут включает условную компиляцию, второй преобразуется в литералы true или false, позволяя сделать проверку во время исполнения. Оба варианта используют идентичный синтаксис для аргументов.

// Эта функция будет скомпилирована только в том случае, если целевая ОС будет linux

#[cfg(target_os = "linux")]

fn are_you_on_linux() {

println!("Вы работаете в linux!");

}

// А эта функция будет скомпилирована, если целевая ОС *не* linux

#[cfg(not(target_os = "linux"))]

fn are_you_on_linux() {

println!("Вы работаете *не* в linux!");

}

fn main() {

are_you_on_linux();

println!("Вы уверены?");

if cfg!(target_os = "linux") {

println!("Да. Это точно linux!");

} else {

println!("Да. Это точно *не* linux!");

}

}

הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Смотрите также:

Reference, cfg!, и macros.

Загрузка...