Linux中判断大小端的一种方法
大小端的定义无需赘言,常用的方法有使用联合体和指针法,如:
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)
作者:webshell
出处:http://www.cnblogs.com/yves
本文版权归作者和博客园所有,欢迎转载,转载请标明出处。