给你一个 Linux 系统,如何判断它的位数?
我经常用的,有这么几种方式。
第一个,使用命令:
uname -m。
uname命令在 Linux 中用于显示与操作系统内核相关的信息,加上 -m 可以显示处理器的架构名称。
比如 x86_64,表示的是 64 位处理器,i686 表示的是 32 位处理器。
从处理器架构可以间接的判断操作系统的位数,不过这个也只能作为参考。
有些系统做了特殊配置或者虚拟化威廉希尔官方网站 等等,这个方法就不行。
第二个,使用:
getconf LONG_BIT
命令,这个命令专门用于获取操作系统的位数,在大多数情况下,得到的结果都是没问题的。
第三个,通过写代码来判断。
#include#include // 包含_WORDSIZE宏定义的头文件 int main() { #if defined (__WORDSIZE) && __WORDSIZE == 32 printf("32-bit system "); #elif defined (__WORDSIZE) && __WORDSIZE == 64 printf("64-bit system "); #else printf("Waring: Unable to determine system bitness! "); #endif return 0; }
在这个头文件中,有个宏定义叫 WORDSIZE,数值要么是 32 要么是 64,用过这个宏定义也能判断出系统的位数。
当然,也有同学会通过 long 类型的长度来判断,long 类型在 32 位系统一般占 4 字节,在 64 系统一般占 8 字节。不过这也跟编译器有关系,也不排除 64 位系统占 4 字节的情况。
关于判断操作系统的位数,还有哪些方法,欢迎在评论区交流。
-
处理器
+关注
关注
68文章
19265浏览量
229677 -
Linux
+关注
关注
87文章
11296浏览量
209358 -
位数
+关注
关注
0文章
3浏览量
2382
原文标题:如何判断Linux系统的位数
文章出处:【微信号:学益得智能硬件,微信公众号:学益得智能硬件】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论