#ocaml #ffi #smart-pointers #rust

sys ocaml-boxroot-sys

OCaml的Boxroot:快速可移动的GC根(C API)

5个不稳定版本

0.3.1 2024年3月12日
0.3.0 2023年2月9日
0.3.0-rc.12023年2月3日
0.2.0 2021年3月18日
0.1.0 2021年3月11日

#183 in 内存管理

Download history 4675/week @ 2024-04-08 4518/week @ 2024-04-15 6392/week @ 2024-04-22 6486/week @ 2024-04-29 7358/week @ 2024-05-06 16733/week @ 2024-05-13 13898/week @ 2024-05-20 16703/week @ 2024-05-27 10965/week @ 2024-06-03 12563/week @ 2024-06-10 13242/week @ 2024-06-17 14144/week @ 2024-06-24 7649/week @ 2024-07-01 11461/week @ 2024-07-08 12295/week @ 2024-07-15 15128/week @ 2024-07-22

47,976 每月下载量
用于 4 个crates(2个直接使用)

MIT 许可证

53KB
1K SLoC

C 1K SLoC // 0.2% comments Rust 148 SLoC // 0.1% comments

OCaml的Boxroot:快速可移动的GC根

此库通过一个高效且灵活的GC根机制扩展了OCaml的外部函数接口。请参阅https://gitlab.com/ocaml-rust/ocaml-boxroot/

此crate将Boxroot库的原始功能暴露为不安全的Rust函数。它旨在由底层库使用,以将OCaml GC的根作为Rust中的智能指针暴露(请参阅crate ocaml-interop)。

运行测试

在运行测试时需要启用link-ocaml-runtime-and-dummy-program功能

cargo test --features "link-ocaml-runtime-and-dummy-program"

功能标志

bundle-boxroot

如果未启用此功能标志(默认启用),则会跳过编译实现boxroot的C代码,用户负责将boxroot链接到最终二进制文件。

启用此功能标志时,必须提供OCaml头文件以便能够编译boxroot的C代码。


lib.rs:

函数的文档可以在boxroot/boxroot.h中找到(包括安全使用规则)

依赖项

~185KB