如果体系结构是32位还是64位,如何检查Rust?

Dan*_*ath 6 processor rust

如果有条件检查处理器是32位还是64位?我正在寻找类似于#cfg[x86]或等的配置检查cfg[x64].

Dan*_*ath 11

#[cfg(target_pointer_width = "64")]CFG中部分锈参考似乎是一个可能的解决方案.它基于指针的大小(以及isizeusize),它应该与架构相对应.

  • *应该与架构相对应*——但并不总是如此。例如,AVR芯片有16位指针,但采用8位架构。 (3认同)
  • 更问题的是,你提出的问题不够具体.你为什么关心"架构"?如果你关心指针的大小,那就是一个问题.如果你关心其他方面,那么`target_arch`可能是正确的.如果你关心整数的原生CPU大小,那么我知道没有答案. (2认同)

lje*_*drz 6

您应该查看有关条件编译的Rust Reference章节:

target_arch = "..."-目标CPU架构,例如"x86","x86_64","mips","powerpc","powerpc64","arm",或"aarch64".该值与平台目标三元组的第一个元素密切相关,尽管它不相同.