rust struct 的布局到底和什么有关,例如:
struct XXX {
x: i32,
y: f64,
...
}
注意,我并不关心x、y字段的具体偏移,而是这些字段名字、顺序、类型不变的情况下,其他信息变更后x 、y的偏移是不是也会发生变化,其他信息包括且不限于:
- struct 名字和路径
- rust 版本
PS:本人近期想写一个高性能持久化 index,数据存储 no deserialization,估计要用 mmap + plain type的方案,因此要保证 build、search过程的绝对安全性
1
共 2 条评论, 1 页
评论区
写评论用
repr(C)
吧nomicon:
尽管现在可能不会变化,但是Rust编译器没保证两个除了名字其他都一样的结构体有着相同的布局.