大家帮忙瞧一下,这个函数能检测处理器是大端还是小端吗?
自己整了这个函数,在STM32上是返回1的,问问大家这样写对吗?int checkendian()
{
unsigned int a=0xFF00;
char* p=(char*)&a;
if(*p==0x00)
return 1;//小端
else
return 0;//大端
} 可以 可以
也可以用联合的方式来测试
比如
union
{
int a;// = 0x12345678;
unsigned char b;
};
a = 0x12345678;
printf("b 1 is %x\n",b); 回复【2楼】sblpp
可以
也可以用联合的方式来测试
比如
union
{
int a;// = 0x12345678;
unsigned char b;
};
a = 0x12345678;
printf("b 1 is %x\n",b);
-----------------------------------------------------------------------
联合体的方法在网上见到过,这个方法是天才的方法,不容易想出来
页:
[1]