Rust 如何打印原始指针的大小? fn main(){ println!(“{:p}”,std::mem::size_of::()); }
当我在操场上尝试时,失败了:Rust 如何打印原始指针的大小? fn main(){ println!(“{:p}”,std::mem::size_of::()); },rust,raw-pointer,Rust,Raw Pointer,当我在操场上尝试时,失败了: error[E0277]:未满足特性绑定'usize:Pointer' -->src/main.rs:2:22 | 2 | println!(“{:p}”,std::mem::size_of::()); |^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^未为“usize”实现特性“指针”` | =注意:std::fmt::Pointer::fmt所需` =注意:此错误源于宏(在夜间构建中,使用-Z宏反向跟踪运行
error[E0277]:未满足特性绑定'usize:Pointer'
-->src/main.rs:2:22
|
2 | println!(“{:p}”,std::mem::size_of::());
|^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^未为“usize”实现特性“指针”`
|
=注意:std::fmt::Pointer::fmt所需`
=注意:此错误源于宏(在夜间构建中,使用-Z宏反向跟踪运行以获取更多信息)
是否有一种方法可以打印原始指针的大小,如*const u32
?println!(“{}”,std::mem::size_of::());
{:p}
要求待打印对象的结果满足指针
,但size\u的
返回不满足指针
的usize
。只需使用{}
即可打印usize
{:p}
基本上用于打印内存位置,而不是size\u of
返回的内容。println!(“{}”,std::mem::size_of::());
{:p}
要求待打印对象的结果满足指针
,但size\u的
返回不满足指针
的usize
。只需使用{}
即可打印usize
{:p}
基本上用于打印内存位置,它不是size\u of
返回的东西。mem::size\u of
返回usize,所以您应该只使用{}
作为格式,而不是{:p}/code>mem::size\u of
返回usize,所以您应该只使用{/code>{/code>作为格式,而不是{:p}
。
fn main() {
println!("{:p}", std::mem::size_of::<*const u32>());
}