40 个版本 (22 个重大变更)
0.23.0 | 2021 年 11 月 23 日 |
---|---|
0.21.0 | 2021 年 11 月 23 日 |
0.19.1 | 2021 年 6 月 10 日 |
0.18.0 | 2021 年 3 月 24 日 |
0.4.0 | 2017 年 11 月 9 日 |
#1570 in 开发工具
每月下载量 2,341
在 3 个 Crates 中使用(通过 bcc)
4MB
131K SLoC
Rust 对 bcc 的绑定。
先决条件
- 在使用此绑定之前必须安装 bcc。
支持的 bcc 版本
bcc 0.4.0 - 0.23.0 通过功能标志支持。
注意:如果您未使用功能标志指定 bcc 的版本,则库将期望此库版本支持的 bcc 最新版本。您必须使用匹配的功能标志指定版本以覆盖此行为。
静态链接
此库允许在 Rust 中编写 BPF 工具时静态链接 bcc 和其他库,而无需在运行时具有 bpf/bcc 库。这需要匹配 llvm 功能标志到您的安装版本,并具备特定的先决条件。有关更多详细信息,请参阅 GitHub 工作流程配置。
生成新绑定
有时需要新鲜生成的绑定
- 以支持 bcc 的新版本
- 使用更新的 bindgen 版本重新生成旧绑定
如何生成新绑定
在您生成新鲜绑定之前,应在您的系统上安装 rustfmt
。使用以下方式安装 rustfmt
$ rustup component add rustfmt
$ rustup update
然后,您可以构建此 crate:cargo build --features generate
新鲜生成的绑定将放置在 src/bccapi/generated.rs
注意:您可能需要修改 build.rs
和/或 wrapper.h
以添加对 bcc 新版本的支持
添加新生成的绑定
为了使用新生成的绑定,我们必须将它们添加到库中。
- 将生成的绑定移动到位于
src/bccapi
下的版本特定模块中。遵循现有的命名规范。 - 如果您为新的版本添加了绑定
- 修改
src/bccapi/mod.rs
以将新模块添加到该库中。 - 修改
Cargo.toml
以定义新的 bcc 版本的功能。
生成新的绑定需要 rustfmt
。