3个版本
0.0.2 | 2020年3月7日 |
---|---|
0.0.1 | 2020年3月2日 |
0.0.0-alpha | 2020年3月1日 |
#643 in 内存管理
34KB
535 行
chromium
帮助增加你的金属的稳定性!
有关实际内容的解释,请参阅crate文档
lib.rs
:
Chromium帮助增加你的金属的稳定性。
具体来说,这个crate允许你将选定的repr(Rust)
类型转换为包含所有必要数据的repr(C)
结构体,以便安全地重建原始的repr(Rust)
形式。
这主要用于将Rust代码一侧的数据通过C ABI "FFI"调用发送到FFI调用另一侧的Rust代码。即使数据在编译器版本之间发生变化,由于C ABI是稳定的,每一侧都将能够将信息转换回本地所需的形式。
当然,如果你需要,你也可以用这个与非Rust代码进行通信。
这里提供的类型在将自身转换回repr(Rust)
形式之外提供了相当基本的功能。根据需要,提供了一些基本的如Debug
和Deref
等功能,但对于任何严重使用,预期你只需将值转换回Rust形式并使用数据的“真实”形式。
特性
unsafe_alloc
启用对Vec
、String
和Box
的支持。- 注意,在这种情况下,你不得在不同全局分配器之间转移分配。
- 截至2020年3月6日,Windows / Mac / Linux的默认全局分配器是进程级分配器。如果你更改全局分配器,可能会出现问题。如果Rust标准库更改其全局分配器,可能会出现问题。
- 这是一个脆弱的特性,不要轻易使用。这就是为什么它直接在特性名称中说“不安全”。