当编译到 Wasm 时,指向堆分配内存的 Rust 指针可以为 0 吗?



当堆分配编译为 Wasm 的 Rust 代码中的内存时,将分配 Wasm 线性内存中的内存。

我是否正确理解指针的值是该内存中的偏移量?如果是,是否可以将值0作为偏移量/指针获取

?一个简单的例子是:

let data: Vec<u8> = Vec::with_capacity(123);
let data_ptr = data.as_ptr() as usize;

我可以假设data_ptr不是零还是有效的地址?

是的,它可以为零。

请参阅将 JavaScript 字符串传递给编译为 WebAssembly 的 Rust 函数,了解它为零的示例,并使用解决方法来避免与传统的NULL值冲突。

相关内容

  • 没有找到相关文章

最新更新