bei einem struct von bitfeldern kann der compiler im prinzip jedes bitfeld in einem eigenen word oder an beliebiger stelle speichern. greift man dann über ein union darauf zu, hat man keine controlle über die position der bitfelder. union garantiert nur, dass jeweils platz vorhanden ist für die daten die man ablegen will. dabei hat man keine garantie für die position.Zitat von Felix G
das kann natürlich trotzdem funktionieren, da compiler ja kein interesse daran haben, die dinge unnötig kompliziert zu machen. aber verlassen würde ich mich darauf nicht
ich würde mir auf jeden fall mal die optimierungsoptionen des compilers anschauen.
sicherer ist es vermutlich, über eigene masken auf bitfelder in einem uint16_t zuzugreifen.
Lesezeichen