1:写一个联合体判断
///一个32位四字节的整数值,例如:1,实际的计算机编码表示是0x000000001
///小端系统中在内存中的表示是 01 00 00 00
///大端系统中在内存中的表示是 00 00 00 01
union EndianTest{
int8_t u[4];
int32_t i;
};
bool isLitteEndianSystem(){
EndianTest et;
et.i = 1;///因为联合体公用一个四字节的内存
return et.u[0] == 1;
}
2:调用系统函数判断
static bool isLitteEndianSystem(){
return __BYTE_ORDER == __LITTLE_ENDIAN;
}