如果我在Unix机器上工作,我怎么知道机器的大小,无论是64位机器还是32位机器?
答案 0 :(得分:17)
AIX 你可以这样做:
getconf KERNEL_BITMODE
HP-UX 您可以这样做:
getconf KERNEL_BITS
或只是:
getconf -a | grep KERN
Sun Solaris ,您可以这样做:
isainfo -v
对于Linux,是的,uname -a
应该做的伎俩
答案 1 :(得分:7)
您可以输入
uname -m
如果出现i686或i386,则使用32位 如果出现X86_64,则使用64位
答案 2 :(得分:6)
我必须处理很多Unix平台,通常我发现的最好方法是查看“uname -a”的输出。例如,如果您在输出中看到类似“i686 i686 i386 GNU / Linux”的内容,您就知道它是一台32位机器。如果“amd64”出现它是64.有时这是尝试运行64位程序的问题。有时它是RTFM。
答案 3 :(得分:2)
如果您只是想查看您所在机器的架构,
%> uname -a
命令行中的通常在输出中包含一个指示。
答案 4 :(得分:1)
您也可以尝试sizeof(int *)
。应该是32位机器上的4台机器和64位机器上的8台机器。
答案 5 :(得分:0)
假设您希望在编译时执行此操作 - 请查看here以查看可以测试的体系结构宏。您可能正在寻找__x86_64__
。