I  know,  that  x86  is  big  endian  architecture
but  simple  programm  like  this:

#include  <stdio.h>
#include  <sys/param.h>
main  ()  {
 /*  Are  we  little  or  big  endian?   From  Harbison&Steele.   */
 union
 {
 long  l;
 char  c[sizeof  (long)];
 }  u;
 u.l  =  1;
 printf  ("Little  endian?  %s\n",  (u.c[sizeof  (long)  -  1]  ==  1)  ?  "yes"  :  
"no");
#if  BYTE_ORDER  ==  BIG_ENDIAN
 printf("Big  endian\n");
#elif  BYTE_ORDER  ==  LITTLE_ENDIAN
 printf("Little  endian\n");
#else
 printf("Unknown\n");
#endif
}

Give  me  a  strange  result:

Little  endian?  no
Little  endian

On  my  FreeBSD  4.2-BETA      BYTE_ORDER  =  LITTLE_ENDIAN!
I`m  very  confused  and  some  programms  detect  my  machine  as  Little  Endian,  by
example  freetds.

Alex


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to