#cfg #table #macro #utility

build cfg_table

一个简单的宏,在不同的编译目标上展开为不同的值

2个版本 (1个稳定)

1.0.0 2021年11月26日
0.1.1 2021年9月23日
0.1.0 2021年9月23日

FFI 中排名 179

Download history 39/week @ 2024-04-06 31/week @ 2024-04-13 26/week @ 2024-04-20 22/week @ 2024-04-27 18/week @ 2024-05-04 29/week @ 2024-05-11 26/week @ 2024-05-18 27/week @ 2024-05-25 20/week @ 2024-06-01 82/week @ 2024-06-08 41/week @ 2024-06-15 23/week @ 2024-06-22 6/week @ 2024-06-29 9/week @ 2024-07-06 17/week @ 2024-07-13 49/week @ 2024-07-20

每月下载量 83
2 个crates中使用(通过 gmod

MIT许可 MIT

9KB
121

crates.io

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\"?");
    },
};

无运行时依赖