Условная компиляция в Rust: использование cfg

В Rust атрибут cfgпозволяет условно компилировать код на основе определенных условий. Вы можете использовать cfg, чтобы указать код, который компилируется только при выполнении определенного условия. Существует несколько способов использования cfgдля создания условий, которые всегда являются истинными или ложными. Вот несколько примеров:

  1. Условие всегда истинно:
    #[cfg(true)]
    fn always_true() {
    println!("This code is always compiled");
    }
    fn main() {
    always_true();
    }

В этом примере функция always_trueимеет аннотацию #[cfg(true)], что означает, что код внутри функции всегда будет компилироваться. Когда вы запустите программу, она выведет «Этот код всегда компилируется».

  1. Всегда ложное условие:
    #[cfg(false)]
    fn always_false() {
    println!("This code is never compiled");
    }
    fn main() {
    always_false(); // This line will be omitted during compilation
    }

В этом примере функция always_falseимеет аннотацию #[cfg(false)], что означает, что код внутри функции никогда не будет скомпилирован. При запуске программы строка always_false()во время компиляции будет опущена.

Используя атрибут cfgсо значениями trueили false, вы можете контролировать, какой код компилируется на основе указанного условия.

Атрибут с условиями «Всегда истинно/ложно»

Атрибут: всегда истинно, всегда ложно.