怎么使用宏來判斷是否big-endian

如何使用宏來判斷是否big-endian用運行的代碼判斷有很多種方法可是我記得是可以用宏來判斷的怎么來判斷呢.

如何使用宏來判斷是否big-endian
用運行的代碼判斷有很多種方法   可是我記得是可以用宏來判斷的
怎么來判斷呢...

[解决办法]
就用宏來定義個 移位 + 或運算吧。
[解决办法]
#if BYTE_ORDER == BIG_ENDIAN
#if BYTE_ORDER == LITTLE_ENDIAN
[解决办法]
使用联合:
union un{
short s;
char ch;
}

un a;
a.s = 0xff00;
printf( "%d ", a.ch);

看输出值来判断就行了。