#malloc #allocator #bindings #ffi #c

nightly no-std malloc-bind

使用Rust分配器实现C malloc API的工具

1 个不稳定版本

使用旧的Rust 2015

0.1.0 2017年9月3日

#25#malloc

Apache-2.0

26KB
334

malloc-bind

malloc-bind 包提供了对C malloc API的绑定。给定Rust Alloc 特质的实现,它生成C malloc API的实现(mallocfreerealloc等)并定义了可用来生成C共享对象文件的extern "C"函数。


lib.rs:

为Rust分配器提供C malloc API的绑定。

此包提供了一个构建C分配器的机制 - 一个mallocfree和相关函数的实现,这些实现由Rust分配器(Alloc特质的实现)支持。

为了创建绑定,必须提供两个东西:一个Alloc特质的实现,以及一个LayoutFinder特质的实现(定义在此包中)。由于C API不提供free的尺寸或对齐,但Rust Alloc API要求在dealloc时提供尺寸和对齐,因此需要在已分配对象及其尺寸和对齐之间维护映射。 LayoutFinder提供了此功能。

依赖项

~65–335KB