pl: C Pointerei

Beitrag lesen

hi,

PS: Was mich nervt ist, daß C den Little Endian bevorzugt.

Tut es nicht. Dein Intel-Prozessor tut das. Nimm einen IBM Großrechner oder einen Motorola 68xxx Prozessor, die sind Big Endian.

Stimmt natürlich. Aber am Perlcode siehst Du, wie einfach sich Perl damit tut, n ist der Short in Networkorder. Damit und mit den anderen Schablonen wirst Du von der Architektur unabhängig: Perlcode läuft plattformübergreifend.

Das kann C auch: Im Header arpa/inet.h findest du ntohs & Co, die für dich „das Denken übernehmen“:

Ne, da muss ich schon selbst aktiv werden, das Denken nimmt mir da htons() gar nicht ab. Also den Code so schreiben, daß er entweder auf einer LE oder BE Architektur funktioniert. Oder mit Bitoperationen arbeiten so wie ich das hier gemacht habe. Also händisch in die Byteorder eingreifen.

MfG