37个版本 (重大变更)
0.28.0 | 2024年8月9日 |
---|---|
0.27.1 | 2023年12月2日 |
0.26.0 | 2023年10月13日 |
0.24.0 | 2023年5月12日 |
0.4.1 | 2020年11月19日 |
#960 in 魔力豆
每月141次下载
300KB
7K SLoC
ergo-lib的C语言绑定
对C绑定的核心Rust部分的薄包装。API不使用Rust类型,适用于C FFI。
构建说明
以下命令构建带有REST API功能的项目
cargo build -p ergo-lib-c --features rest
要构建不带REST,只需省略--features rest
。
C头文件由cbindgen生成。运行以下命令
cbindgen --config cbindgen.toml --crate ergo-lib-c --output h/ergo_lib.h
注意,我们只需要rustc的nightly版本来执行此命令。 这是因为我们使用宏来生成一些C类型,而cbindgen
不能直接通过它们生成类型。然而,cbindgen
为我们提供了展开宏的选项,这只能通过rustc
的nightly版本来完成。该crate本身始终可以通过rustc
的稳定版本进行编译。
lib.rs
:
ergo-lib的C语言绑定
依赖项
~18–34MB
~505K SLoC