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

Re: gcc und 32bit grenze



Hallo Bruno!

> > Ich lese gerade mittels socket eine Struct, das sich nicht an die
> > 32bit-Grenze nicht hält. 
> >
> > Ich habe folgendes Strukt:
> > struct {
> > 	char[10];
> > 	int;
> > }
> > und genau das bekomme ich über das Netz, nur das er mir wirklich 10bit
> > und danach die Zahl bringt,
> 
> 10 Byte wahrscheinlich. Und wo ist das Problem? Du sagst es wird alles
> übertragen, erst 10 und dann nochmal 4 Byte. Da sehe ich weit und
> breit kein Problem, und wenn da eines wäre hat es mit einer wie immer
> gearteten 32bit Grenze vermutlich gar nichts zu tun.
> 
> Weisst du nicht wie du die 14 Byte korrekt lesen sollst, oder wo
> hapert es? Mit etwas Quellcode ließe sich nebenbei vielleicht mehr
> sagen.
gcc schreibt aber intern das int nicht gleich hinter die chars, sondern
fängt an der nächsten 32bit-Grenze an. Und dabei liegt das Problem. Die
Daten aus dem Socket sind aber hintereinander weg geschrieben.

Ich habe mir die Speicheraddressen ausgegeben und da fängt das int vom
Socket zwei Bytes vor dem dem int aus der Struktur an.

Ich habe dabei die Bytes mir einzeln ausgelesen

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: pgpConXAsOb6L.pgp
Description: PGP signature


Reply to: