Re: bytegroesse, was endianess/Re: audio-cd

From: clemensF <ino-waiting(at)gmx.net>
Date: Sat, 23 Mar 2002 00:30:12 +0100

> Christian Weisgerber:

> char *p;
> long x;
> ...
> read(fd, p, size);
> ...
> /* read 32-bit value */
> x = *(long *)p;
> ...

das beispiel nimmt darueber hinaus auch an, variablen wuerden in
textreihenfolge (oder genau andersrum) alloziert. das kann schon mit einem
"-O" in den CFLAGS danebengehen. ich hab das beispiel aber nicht ganz
verstanden. muessten p und x nicht in einem union sein, um ueberhaupt
sowas machen zu koennen?

> Ich habe auch schon solche lustigen Dinge gesehen, wie ein Versuch
> portabel die Endianness zur Laufzeit zu bestimmen:
>
> ...
> char endian[] = { 0, 0, 0, 1 };
> int i;
> ...
> i = *(int *)endian;
> if (i == 1)
> ...

man kann doch sowas aber machen, oder? wie macht man das richtig?

clemens fischer

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sat 23 Mar 2002 - 00:36:00 CET

search this site