#closures #ffi #libffi #c

sys deno-libffi-sys

libffi 的原始 Rust 绑定

7 个版本

0.0.7 2021 年 8 月 9 日
0.0.6 2021 年 8 月 9 日
0.0.3 2021 年 7 月 18 日

#60#c

每月 26 次下载
用于 2 个包(通过 deno-libffi

MIT/Apache

2.5MB
66K SLoC

C 33K SLoC // 0.2% comments GNU Style Assembly 14K SLoC // 0.2% comments M4 9K SLoC // 0.2% comments Shell 8K SLoC // 0.2% comments Rust 798 SLoC // 0.0% comments Bitbake 436 SLoC // 0.1% comments Automake 248 SLoC // 0.1% comments Python 200 SLoC Perl 171 SLoC // 0.4% comments C++ 128 SLoC // 0.1% comments Visual Studio Project 126 SLoC // 0.0% comments Visual Studio Solution 33 SLoC

包含 (自动工具混淆代码,715KB) libffi/configure,(神秘的 autoconf 代码,13KB) libffi/configure.ac

libffi-sys-rs:libffi 的底层 Rust 绑定

GitHub Workflow Status Crates.io License: MIT License: Apache 2.0

C libffi 库提供了两个主要功能:动态组装函数调用,以及创建可以像普通 C 函数一样调用的闭包。这是一个由 bindgen 生成的未记录包装器,旨在作为更高级别绑定的基础,但您也可以看到 libffi 文档

有关更高级别 API,请参阅 libffi

用法

libffi-sys 可以从 github 构建自己的 libffi C 库副本 (点击查看),或者它可以将链接针对您的系统 C libffi。默认情况下,它构建自己的副本,因为许多系统都配备了旧的 C libffi;这需要您首先有可工作的 make、C 编译器、automake 和 autoconf。如果您的系统 libffi 足够新(截至 2019 年 10 月为 v3.2.1),则可以启用 system 功能标志来使用它。如果您希望此包为您构建 C libffi,请在您的 Cargo.toml 中添加以下内容:

[dependencies]
libffi-sys = "1.1.1"

到您的 Cargo.toml。如果您想使用您自己的系统 C libffi,那么

[dependencies.libffi-sys]
version = "1.1.1"
features = ["system"]

到您的 Cargo.toml。如果您的系统 libffi 足够新(截至 2019 年 10 月为 v3.2.1),则可以启用 system 功能标志来使用它。如果您想此包为您构建 C libffi,请在您的 Cargo.toml 中添加以下内容:

此包支持 Rust 版本 1.32 及以后版本。

依赖项