6 个版本 (破坏性)
0.5.1 | 2023年7月3日 |
---|---|
0.5.0 | 2023年6月19日 |
0.4.0 | 2023年6月4日 |
0.3.0 | 2023年6月3日 |
0.1.0 | 2023年6月3日 |
#5 in #cbindgen
每月47次下载
41KB
748 行
Cranelift C 兼容 FFI
许可证
我没有维护 cranelift 或 wasmtime 的任何部分。这仅仅是以 C 兼容的方式重新分发 abi。
以下是源代码的许可证。 wasmtime 许可证
根据许可证,这不一定是一个派生作品,但我将其视为派生作品,并在各个地方小心地将此许可证推送到您的面前。
仓库
注意 在 crates.io 上查看此内容的用户,您需要遵循 使用说明 进行安装。这是一个查看不同屏幕上的 abi 的好地方。
或者,您可以创建一个包装项目,并 pub use
craneliftc 和 cranelift,然后运行 cargo build 为该项目。然后它将安装到您的本地目标目录,然后使用 makefile 中的 cbindgen 命令
。这些都是额外的步骤。在本地使用仓库安装更容易。
使用说明
- 确保您处于 rust 夜间版本。
- 确保您已安装 cbindgen。
cargo install cbindgen
注意 如果您想交叉编译 craneliftc
,请确保您已安装交叉编译工具。 cargo install cross
您可以在此仓库的根目录中运行以下任何命令。
makerelease
,makedebug
,maketriple=${your_target}target-release
maketriple=${your_target}target-debug
这将 craneliftc
安装到 ./target
目录,无论是构建版本还是发布版本。如果您提供了交叉目标,它将安装到一个额外的 triple 目录中。
此库使用不可见指针,因此需要一个额外的头文件。 craneliftc-extras.h
作为便利,头文件可以从这里获取。 头文件
要生成 cbindgen 头文件,请运行, make cbindgen
依赖关系
~9MB
~193K SLoC