大小端的定义无需赘言,常用的方法有使用联合体和指针法,如:

int checkCPU()
{
union w
{
int a;
char b;
}c;
c.a = 1;
return (c.b == 1); // 小端返回TRUE,大端返回FALSE
}  

实际上Linux操作系统的源码中,其判断更为简洁:

static union { char c[4]; unsigned long mylong; } endian_test = {{ 'l', '?', '?', 'b' } };
#define ENDIANNESS ((char)endian_test.mylong)

  

 

相关文章:

  • 2021-06-10
  • 2021-07-02
  • 2021-12-04
  • 2021-09-08
  • 2021-09-10
  • 2022-12-23
猜你喜欢
  • 2022-02-19
  • 2021-06-22
  • 2021-05-27
  • 2021-10-25
  • 2021-08-06
  • 2021-09-07
相关资源
相似解决方案