cat /proc/cpuinfo | grep lm #-> get bit count of a cpu uname -a #-> get bit count of an operation system
但是,我们怎样才能得到一个C程序的位数。 这是一个面试问题,我的解决scheme如下:
int *ptr; printf("%dn",sizeof(ptr)*8);
但面试官说这是错的。 那么,正确的答案是什么?
POSIX也提供了C函数。 你可以像shell命令uname一样获得类似的结果:
#include <stdio.h> #include <sys/utsname.h> int main(){ struct utsname buf; uname(&buf); printf("sysname: %snversion: %snmachine: %sn ",buf.sysname,buf.version,buf.machine); return 0; }
在我的机器上输出:
sysname: Linux version: #1 SMP Tue Oct 2 22:01:37 EDT 2012 machine: i686