linux gcc 区分32位或64位编译
Linux系统下程序如何区分是64位系统还是32位系统 经过对include的翻查,最后确定gcc以__i386__来 进行32位编码,而以__x86_64__来进行64位编 码;64位的gentoo下stdio.h就是个简单例子(i不晓得其它的是不是?);而且在bits/wordsize.h中对这两个定义进行了综合, 以__WORDSIZE的值来表示机器类型,大家可以直接去看看 例子 #include <stdio.h> int main(int argc ,char* argv) { #ifdef __x86_64__ printf("__x86_64__"); #elif __i386__ printf("__i386__"); #endif return 0; }
|