[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: gcc und 32bit grenze



Hallo Bruno! Hallo Reinhard!

> Ah, OK. Du deklarierst ein analoges struct auf der receiver Seite und
> da passt es nicht mehr. Das Schlagwort hier heißt 'struct padding'.
> 
> Zwei Alternativen:
> 
> struct {
>  	char[10];
>  	int;
> } __atribute__((packed));
Danke. Das war, was ich gesucht habe!

> oder du stellst das int einfach an den Anfang, natürlich auf sender
> und receiver Seite
> 
> struct {
>  	int;
>  	char[10];
> }
Das geht schlecht, wenn die andere Seite schon so im Betrieb ist und
nicht alles umgeschrieben werden kann, sonst hätten wir das char auch
auf 4byte-Grenzen gemacht.

> Generell, und insbesondere wenn binäre Daten über's Netzwerk gehen
> sollen, empfiehlt es sich in structs die 'dicken Teile' an den Anfang
> zu stellen, d.h. zumindest die Teile, die auf alignment boundaries
> fallen.

Und da kommt auch schon das nächste Problem. Die Zahlen (short, long)
sind verdreht. Gibt es einen C-Befehl, Funktion, mir der man das machen
kann. 

Danke im Voraus

CU        
         
  Michael  
          
--                                                       
           Michael Ott, e-mail: michael@zolnott.de, www.zolnott.de           
I am registered as user #275453 with the Linux Counter, http://counter.li.org.

Attachment: pgpNcrKfX9ZHh.pgp
Description: PGP signature


Reply to: