17 个版本
0.4.4 | 2021 年 7 月 28 日 |
---|---|
0.4.2 | 2020 年 8 月 6 日 |
0.4.0 | 2020 年 1 月 14 日 |
0.3.5 | 2019 年 7 月 17 日 |
0.1.2 | 2018 年 12 月 12 日 |
#63 在 FFI 中
11,621 每月下载量
用于 18 个 crate(14 个直接使用)
130KB
1.5K SLoC
FFI 支持
此 crate 实现了一个支持库,以简化实现 mozilla/application-services 仓库使用的模式,该模式用于其 "Rust 组件" FFI 库,这些库用于共享 Rust 代码
特别是,它可以协助以下领域
- 避免在 FFI 中抛出 panic(这是未定义的行为)
- 将 rust 错误(和 panic)转换为调用方能够处理的错误。
- 将字符串转换为 rust str,反之亦然。
- 在 Rust 和 FFI 另一侧的调用方之间来回传递非字符串数据(以几种方式,包括暴露一个不可知的指针,使用 serde 将数据打包成 JSON 字符串,以及任意自定义处理)。
此外,其文档描述了我们在此过程中遇到的一些问题,这些问题涉及向移动平台上的消费者暴露库。
使用
将以下内容添加到您的 Cargo.toml 中
ffi-support = "0.4.4"
有关更多示例,请参阅文档中的示例,然后是 mozilla/application-services 仓库中的使用代码(例如 此处 或 此处)。
许可证
双重许可,可选择 Apache 许可证,版本 2.0 或 http://www.apache.org/licenses/LICENSE-2.0 或 MIT 许可证或 http://opensource.org/licenses/MIT。所有携带此类通知的项目文件均不得复制、修改或分发,除非根据这些条款。
依赖项
~52–630KB
~13K SLoC