41 个版本 (15 个稳定版)
2.3.0 | 2023年4月26日 |
---|---|
2.2.0 | 2023年3月28日 |
2.0.1 | 2022年10月20日 |
2.0.0 | 2022年3月7日 |
0.4.4 | 2016年6月21日 |
#148 在 FFI 中
40,320 每月下载量
用于 49 个 crate(5 个直接使用)
3MB
69K SLoC
包含 (autotools 加密代码,715KB) libffi/configure,(模糊 autoconf 代码,15KB) libffi/configure.ac
libffi-sys-rs:libffi 的底层 Rust 绑定
C 语言 libffi 库提供了两个主要功能:动态汇编函数调用和创建可以像普通 C 函数一样调用的闭包。这是一个由 bindgen 生成的非文档化包装器,用作更高级绑定的基础。
如果你克隆此存储库以构建库并且你不打算启用 system
Cargo 功能以针对系统中的 C libffi 构建,那么你应该进行递归克隆,默认情况下,此库从 Git 子模块构建 C libffi。
有关更高级 API,请参阅 libffi
crate。
使用方法
libffi-sys
可以从 github 构建自己的 libffi C 库副本,或者它可以链接到系统中的 C libffi。默认情况下,它构建自己的副本,因为许多系统都带有旧的 C libffi;这需要您首先拥有一个正常工作的 make、C 编译器、automake 和 autoconf。如果您的系统 libffi 足够新(截至 2019 年 10 月为 v3.2.1),则可以启用 system
功能标志来使用它。如果您希望此 crate 为您构建 C libffi,请将以下内容添加到您的 Cargo.toml
中:
[dependencies]
libffi-sys = "2.3.0"
如果要在 Cargo.toml
中使用您的系统 C libffi,则
[dependencies.libffi-sys]
version = "2.3.0"
features = ["system"]
。
此 crate 支持 Rust 版本 1.32 及更高版本。