1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2017 年 5 月 19 日 |
---|
#2416 在 Rust 模式
19KB
233 行
Raml - Rust 中的智能 OCaml FFI
无需离开 Rust 即可直接绑定 OCaml - 没有C桩代码!
(你仍然需要了解 C ffi 绑定的原理;如果了解,这些宏在命名和目的上几乎与 C 中的宏相同)
请参考 examples
目录中的示例,以了解 Rust 代码(在 rust
目录中)和 OCaml 代码(在 ocaml
目录中)。
同时,请见谅,我正在尝试添加更多文档和示例,但我非常忙;如果你看到什么,请随时添加 PR 或问题,谢谢 :)
一个基本示例演示了它们的用法
caml!(ml_beef, |parameter|, <local>, {
let i = int_val!(parameter);
let res = 0xbeef * i;
println!("about to return 0x{:x} to OCaml runtime", res);
local = val_int!(res);
} -> local);
宏负责自动声明 CAMLparam
等,以及 CAMLlocal
和 CAMLreturn
。
如果你需要更精细的控制,可以使用 caml_body!
等。
文档
使用方法
raml 应该与最新的 rustc
(我在 1.16 上测试过)兼容,且不要求使用夜间版本。
添加到你的 Cargo.toml
[dependencies]
raml = "0.1.0"