例如,假设我想访问存储的任何值0x0900.我std::ptr::read在Rust标准库中找到了这个函数,但是关于如何使用它的文档并不是很清楚,我不确定它是否是正确的方法.
这就是我尝试过的:
use std::ptr;
fn main() {
let n = ptr::read("0x0900");
println!("{}", n);
}
Run Code Online (Sandbox Code Playgroud)
但它给了我错误 E0277
如果u32要从内存位置读取类型值0x0900,可以按如下方式执行:
use std::ptr;
fn main() {
let p = 0x0900 as *const u32;
let n = unsafe { ptr::read(p) };
println!("{}", n);
}
Run Code Online (Sandbox Code Playgroud)
请注意,在将地址转换为指针时,需要确定所需的指针类型.