gpt4 book ai didi

rust - 你将如何在 Rust 中创建一个指向特定内存地址的指针?

转载 作者:行者123 更新时间:2023-11-29 07:53:15 25 4
gpt4 key购买 nike

例如,假设我想访问存储在 0x0900 中的任何值。我在 Rust 标准库中找到了 std::ptr::read 函数,但是文档并不清楚如何使用它,我不确定它是否是正确的方法。

这是我试过的:

use std::ptr;

fn main() {
let n = ptr::read("0x0900");
println!("{}", n);
}

但它给我错误 E0277

最佳答案

如果你想从内存位置0x0900读取类型u32的值,你可以按如下方式进行:

use std::ptr;

fn main() {
let p = 0x0900 as *const u32;
let n = unsafe { ptr::read(p) };

println!("{}", n);
}

请注意,在将地址转换为指针时,您需要确定所需的指针类型。

关于rust - 你将如何在 Rust 中创建一个指向特定内存地址的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35282198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com