- Offizieller Beitrag
Hey!
Mal wieder ein Struct Problem... Habe in C z.B. folgende Struktur:
Spoiler anzeigen
Wie man sieht hat die Struktur testBitField Bit fields! Das heißt eine Variable Benutzt nur ein Bit (nicht byte!) Trotzdem ist die Struktur insgesamt 4 Byte groß, ich schätze mal das hat mit dem Aligment zu tun, ist aber auch egal!
Was mich nun wundert: Wenn ich die Struktur wie folgt mache:
[autoit];same structure as in C
Global $tagStructTest = "int Wert1;byte testBitField[4];int Wert2;"
und testBitField auslese, kann ich zwar mit BitAnd gucken ob Param1 oder Param2 1 oder 0 sind (BitAnd($tBla...,1) und BitAnd($tBla...,2)) aber das restliche testBitField ist mit irgend einem Mist zugetextet. Erst dachte ich, es wäre irgendwas zufälliges, aber es scheint immer die gleiche Zahl zu sein. Wert1 und Wert2 wird aber sonst auch richtig angezeigt. (in meinem Beispiel
0x2439E500 wenn Parm1 = 0 und Parm2 = 0,
0x2539E500 wenn Parm1 = 1 und Parm2 = 0,
0x2639E500 wenn Parm1 = 1 und Parm2 = 1,
0x2739E500 wenn Parm1 = 1 und Parm2 = 1.)
Was sind das für Zahlen? Kann ich die einfach getrost ignorieren? Bzw einfach mit nullen überschreiben?
Oder gibt es gar eine Möglichkeit diese Bitfields in AutoIt auch irgendwie umzusetzen?
Gruß,
Spider