例如,我想说我想要访问0x0900
中存储的任何值。我在Rust标准库中找到了函数std::ptr::read
,但是文档对于如何使用它并不是很清楚,我不确定它是否正确。
这是我尝试过的:
use std::ptr;
fn main() {
let n = ptr::read("0x0900");
println!("{}", n);
}
但它给了我错误E0277
答案 0 :(得分:5)
如果要从内存位置u32
读取0x0900
类型的值,可以按以下步骤操作:
use std::ptr;
fn main() {
let p = 0x0900 as *const u32;
let n = unsafe { ptr::read(p) };
println!("{}", n);
}
请注意,在将地址转换为指针时,需要确定所需的指针类型。