1 个不稳定版本
使用旧的 Rust 2015
0.0.1 | 2015年4月22日 |
---|
#13 in #nif
10KB
105 行
Ruster
用于在 Rust 中创建 Erlang NIF 的库
状态
尚未工作。
我已经非常接近编译一个有效的不可变静态 ErlNifEntry,但目前正在内部编译错误中受阻。修复之后,一些整理、宏化和文档应该会产生一个可用的 Rust 绑定。
总体设计说明
简要说明这里正在发生的事情
- Erlang 脚本为 Rust 生成 NIF API 函数签名。这大致复制了 erl_nif.h 中发生的元编程。
- NIF 结构和数据类型是用 Rust 手写的(实际上是从 Radosław Szymczyszyn 提供的自动绑定中窃取并清理的。)
- 将有一个针对每个支持的 Erlang 版本的不同的 Ruster 分支。就像 erl_nif.h 一样。
- 我已经为 Windows 支持留出了门,尽管这不会是初始的重点。
- 由于 Rust 有一个非常不错的线程 API,所以我完全跳过了 NIF 线程 API。如果需要,以后可以添加。
- 我希望有一个低级(不安全)API,它直接映射到 C NIF API,以及一个更高层次的 API,遵循 Rust 习惯。我打算让更高层次的 API 成本为零或接近零。
依赖关系
~78KB