linux C语言程序如何区分是64位系统还是32位系统实例教程



linux C语言程序如何区分是64位系统还是32位系统实例教程。Linux系统下程序如何区分是64位系统还是32位系统。

经过对include的翻查,最后确定gcc以__i386__来进行32位编码,而以__x86_64__来进行64位编码;64位的gentoo下stdio.h就是个简单例子(i不晓得其它的是不是?);而且在bits/wordsize.h中对这两个定义进行了综合,以__WORDSIZE的值来表示机器类型,大家可以直接去看看

例子

#include

int main(int argc  ,char* argv)

{


  #ifdef __x86_64__

       printf(“__x86_64__”);

  #elif __i386__

       printf(“__i386__”);

  #endif

  return 0;

}