Linux系統下程序如何區分是64位系統仍是32位系統 編碼
通過對include的翻查,最後肯定gcc以__i386__來 進行32位編碼,而以__x86_64__來進行64位編 碼;64位的gentoo下stdio.h就是個簡單例子(i不曉得其它的是否是?);並且在bits/wordsize.h中對這兩個定義進行了綜合, 以__WORDSIZE的值來表示機器類型,你們能夠直接去看看 spa
例子 it
#include <stdio.h> io
int main(int argc ,char* argv) gcc
{ gc
#ifdef __x86_64__ 程序
printf("__x86_64__"); word
#elif __i386__ gentoo
printf("__i386__"); di
#endif
return 0;
}