#cfg #alias #bitcoin #projects #aliasing #gate #directive

构建 bitcoin-cfg

用于指定 cfg 别名和 cargo 指令的构建依赖

8 个版本

0.1.16-alpha.02023 年 3 月 31 日
0.1.15-alpha.02023 年 3 月 31 日
0.1.12-alpha.02023 年 1 月 18 日

#12 in #aliasing

Download history 514/week @ 2024-03-29 176/week @ 2024-04-05 202/week @ 2024-04-12 199/week @ 2024-04-19 248/week @ 2024-04-26 197/week @ 2024-05-03 196/week @ 2024-05-10 197/week @ 2024-05-17 195/week @ 2024-05-24 153/week @ 2024-05-31 178/week @ 2024-06-07 222/week @ 2024-06-14 273/week @ 2024-06-21 97/week @ 2024-06-28 105/week @ 2024-07-05 185/week @ 2024-07-12

717 每月下载
用于 197 个 crate(171 个直接使用)

MIT 许可证

245KB
681

bitcoin-cfg

Bitcoin-cfg 是一个 Rust crate,它提供了将多个 cfg 门控别名到一个单独别名的功能。这在多个代码块或项目中需要重复多个 cfg 门控时非常有用。

该 crate 包含一个 cfg_alias! 宏,允许开发者通过组合现有的 cfg 门控来创建一个新的 cfg 别名。该宏接受两个参数:新别名的名称,以及要组合的 cfg 门控列表。

例如,假设开发者需要指定某个代码块仅在启用 "foo" 功能的 Linux x86_64 系统上编译。他们可以编写

#[cfg(all(target_os = "linux", target_arch = "x86_64", feature = "foo"))]
fn my_function() { /* ... */ }

然而,如果这个 cfg 门控需要在多个代码块或项目中重复,每次都写出来会变得繁琐。使用 bitcoin-cfg,开发者可以使用 cfg_alias! 宏创建一个新的 cfg 别名

bitcoin_cfg::cfg_alias! {
    linux_x86_64_foo,
    all(target_os = "linux", target_arch = "x86_64", feature = "foo")
}

然后,在他们的代码块中,开发者可以使用这个新别名而不是原始的 cfg 门控

#[cfg(linux_x86_64_foo)]
fn my_function() { /* ... */ }

这使得代码更简洁,更易于阅读,并且在复制和粘贴 cfg 门控时减少了出错的可能性。

总的来说,bitcoin-cfg 通过允许开发者为常用的 cfg 门控组合创建别名,简化了 Rust 代码中 cfg 门控的使用。

4> 确切。在比特币 Rust 生态系统中有几个这样的,它们包含在这个 crate 中

bitcoin-cfg

Bitcoin-cfg 是一个 Rust crate,它为比特币 Rust 生态系统中的常用 cfg 门控提供了一组别名。它允许开发者通过将多个 cfg 门控组合成一个单独的别名,来创建简洁且易于阅读的 cfg 块。

该软件包包含多个预定义别名,用于常用组合的 cfg 门。这些别名可以直接在 cfg 块中使用,无需手动定义。

例如,可以使用 bitcoin_cfg::target_os_linux 来指定代码块仅在 Linux 系统上编译,而使用 bitcoin_cfg::feature_serde 来指定代码块需要启用 "serde" 功能。

除了预定义别名外,bitcoin-cfg 允许开发者使用 cfg_alias! 宏创建自己的别名。在需要重复多个 cfg 门的情况中,这非常有用。

总的来说,bitcoin-cfg 是一个有用的软件包,通过提供常用 cfg 门的别名集合,简化了在比特币生态系统中使用 Rust 代码中的 cfg 门。

依赖项

~88MB
~833K SLoC