linux gcc 区分32位或64位编译 && 请问arm存储,是以小端格式还是以大端格式?

时间:2022-04-25 13:02:26

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;

}

http://cache.baiducontent.com/c?m=9d78d513d99001f04fede5697d10c0121843f0672ba6a0013894cd47c9221d03506790a63a724045c4c50b3640f9154bea876a25711e66ead993d90bc0b8992a2c8e2335741f&p=8b2a975fa49e11a05bed933a550c8d&newp=8c769a4780934eac58eacc68425e86231610db2151d2d11e29&user=baidu&fm=sc&query=arm+%B4%F3%B6%CB&qid=&p1=1

ARM support two types. big and little

but default is little