Условная компиляция функций в Rust

Beginner

This tutorial is from open-source community. Access the source code

Введение

В этом лабораторном задании есть фрагмент кода, в котором есть функция с именем conditional_function(), но она будет скомпилирована и выполнена только в том случае, если в rustc будет передано пользовательское условие под названием some_condition с использованием флага --cfg.

Примечание: Если в лабораторном задании не указано имя файла, вы можете использовать любое имя файла, которое хотите. Например, вы можете использовать main.rs, скомпилировать и запустить его с помощью rustc main.rs &&./main.

Пользовательское

Некоторые условия, такие как target_os, неявно предоставляются rustc, но пользовательские условия должны быть переданы rustc с использованием флага --cfg.

#[cfg(some_condition)]
fn conditional_function() {
    println!("условие выполнено!");
}

fn main() {
    conditional_function();
}

Попробуйте запустить это, чтобы увидеть, что произойдет без пользовательского флага cfg.

С пользовательским флагом cfg:

$ rustc --cfg some_condition custom.rs && ./custom
условие выполнено!

Резюме

Поздравляем! Вы завершили лабораторную работу "Пользовательское". Вы можете практиковаться в других лабораторных работах в LabEx, чтобы улучшить свои навыки.