今天在运维工作时候,突然忘记查看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的位数和指针的大小是否可以这么进行关联,如果我理解错误,多谢各位朋友留言指出哈,有交流才有进步!