判断Ubuntu是32bit还是64bit
前言
今天在运维工作时候,突然忘记查看ubuntu系统是32bit还是64bit的命令,于是想到了用c语言写个小程序进行判断,感觉挺有意思的,记录一下
c语言方法
思路
- 在32bit的机器里,内存地址用32bit标识
- 在64bit的机器里,内存地址用64bit标识
- 因此,我们可以打印指针的字节数*8不就是cpu的位数了
代码
#include <stdio.h> #include <stdlib.h> int main() { char *p; printf("cpu的位数: %d\n", 8 * sizeof(p)); return 0; }
执行结果
ubuntu的命令查看
方法
uname -a
结果
说明
i386、i686代表是32bit机器
x86_64代表64bit机器
疑问
一年半之前考研的时候复习过操作系统,现在基本上忘光了,不知道cpu的位数和指针的大小是否可以这么进行关联,如果我理解错误,多谢各位朋友留言指出哈,有交流才有进步!