大端-小端对齐判定函数

大端-小端对齐判定方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int main(int argc, char** argv) {
(void)argc;
(void)argv;
union {
short s;
char c[sizeof(short)];
}un;
un.s = 0x0102;
if(sizeof(short)!=2) {
printf("sizeof(short)=%d\n", sizeof(short));
} else {
if(1== un.c[0] && 2==un.c[1]) {
printf("Big end\n");
} else if(2==un.c[0] && 1==un.c[1]) {
printf("Little end\n");
} else {
printf("unknown \n");
}
}
return 0;
}