Zitat Zitat von trickTronic
Hi,
also mit den Bitfeldern würde ich aufpassen.
Die sind lt. ANSI C nicht genormt und können auf unterschiedlichen CPU-Arten (Little/Big-Endian wie PPC und ARM und Pentium) abhängig von deren Compiler Probleme verursachen!
Auf der einen Plattform passt alles, auf der anderen sind alle Bits spiegelverkehrt...
LG, Alex
Das ist hier egal weil die Bitfields hier nicht transferiert werden. Ob Bits/Bytes little oder big endian sind spezifiziert C auch nicht, das Problem hast du ohnehin immer. Der Inhalt eines Bitfields zu übertragen ist also genauso sicher/unsicher wie einen char zu übertragen.

Das von dir angerissene Problem kann dann auftreten, wenn man die ganze Struktur en block überträgt.

Das Endian-Problem kannst du leicht lösen, indem du es zur Laufzeit abfragst.