作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
确定它是否为 64 位的 bool 值是完美的,但表示位数的整数也可以。
我想捕获有关 PC 架构的一些信息以用于统计目的。
最佳答案
在最好的情况下,您的程序已经针对正确的体系结构/目标进行了编译。这意味着您在编译时已经知道程序是针对 32 位还是 64 位目标编译的。您可以使用 cfg()
attribute 检查或 cfg!()
macro :
fn is_compiled_for_64_bit() -> bool {
cfg!(target_pointer_width = "64")
}
#[cfg(target_pointer_width = "32")]
fn foo() {
println!("foo compiled for 32 bit");
}
#[cfg(target_pointer_width = "64")]
fn foo() {
println!("foo compiled for 64 bit");
}
但如果您只想向用户发送 32 位二进制文件,则您的程序将由用户的 32 位硬件本地执行,或由用户的 64 位硬件以兼容模式执行。要确定您的程序是实际运行在 32 位体系结构上还是仅运行在 32 位兼容模式下更加困难,并且取决于您的操作系统。我不知道有任何简单的跨平台方法可以做到这一点。无论如何,我建议您针对每个目标架构分别进行编译。
关于rust - 有没有办法检查应用程序运行的操作系统是 32 位还是 64 位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44655115/
我是一名优秀的程序员,十分优秀!