本文简要介绍rust语言中 Macro std::cfg
的用法。
用法
macro_rules! cfg {
($($cfg : tt) *) => { ... };
}
在编译时评估配置标志的布尔组合。
除了#[cfg]
属性之外,还提供此宏以允许对配置标志进行布尔表达式评估。这通常会导致更少的重复代码。
此宏的语法与 cfg
属性的语法相同。
cfg!
与 #[cfg]
不同,它不会删除任何代码,只会评估为真或假。例如,当 cfg!
用于条件时,if/else 表达式中的所有块都必须有效,而不管 cfg!
正在评估什么。
例子
let my_directory = if cfg!(windows) {
"windows-specific-directory"
} else {
"unix-directory"
};
相关用法
- Rust char.is_control用法及代码示例
- Rust char.is_alphanumeric用法及代码示例
- Rust char.len_utf16用法及代码示例
- Rust char.is_digit用法及代码示例
- Rust char.is_ascii_graphic用法及代码示例
- Rust concat用法及代码示例
- Rust char.decode_utf16用法及代码示例
- Rust char.is_uppercase用法及代码示例
- Rust catch_unwind用法及代码示例
- Rust char.to_ascii_lowercase用法及代码示例
- Rust char.is_ascii_uppercase用法及代码示例
- Rust canonicalize用法及代码示例
- Rust create_dir用法及代码示例
- Rust ctlz用法及代码示例
- Rust channel用法及代码示例
- Rust char.escape_unicode用法及代码示例
- Rust copy_nonoverlapping用法及代码示例
- Rust char.is_alphabetic用法及代码示例
- Rust char.is_ascii_control用法及代码示例
- Rust char.from_u32_unchecked用法及代码示例
- Rust char.is_ascii_alphabetic用法及代码示例
- Rust cttz_nonzero用法及代码示例
- Rust char.eq_ignore_ascii_case用法及代码示例
- Rust current用法及代码示例
- Rust char.is_ascii用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Macro std::cfg。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。