2个版本 (1个稳定)
1.0.0 | 2021年11月26日 |
---|---|
0.1.1 | 2021年9月23日 |
0.1.0 |
|
在 FFI 中排名 179
每月下载量 83
在 2 个crates中使用(通过 gmod)
9KB
121 行
✨ cfg_table
一个简单的宏,在不同的编译目标上展开为不同的值。
恐慌
如果找不到匹配的值,此宏将在运行时引发恐慌。
示例
#[macro_use] extern crate cfg_table;
let var = cfg_table! {
[all(target_os = "freebsd", target_pointer_width = "64", feature = "my-feature")] => 1337, // custom
// common platforms
win32 => 32,
win64 => 64,
linux32 => 32,
linux64 => 64,
macos32 => 32,
macos64 => 64,
// pointer widths
32 => 1985,
"32" => 1985,
64 => 2003,
"64" => 2003,
_ => 123, // default value if nothing matches, this must be at the bottom
};
cfg_table! {
win32 => {
println!("You're on Windows 32-bit!");
},
win64 => {
println!("You're on Windows 64-bit!");
},
_ => {
panic!("What the heck is a \"Linux\"?");
},
};