INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

C-Strukturen mit verschieden langen Elementen...



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

23.03.2007, 16:05
Beitrag #1

astraios Offline
LVF-Grünschnabel
*


Beiträge: 44
Registriert seit: Mar 2006

8.5
2006
de

80937
Deutschland
C-Strukturen mit verschieden langen Elementen...
Hallo,

jetzt hab ich's endlich geschafft, an die C-Struktur Daten meiner DLL ranzukommen - da kommt gleich das nächste Problem auf mich zu:

Ich habe u.a. Strukturen, deren Deklaration ungefähr so aussieht (mit uint sind unsigned 32 Bit Integer gemeint):

<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>typedef struct myStruct
{
uint value1 : 11;
uint value2 : 7;
uint value3;
uint value4: 1;
} myStruct;</div>

Jetzt sind meine Kenntnisse über C-Strukturen nicht die vollständigsten, aber ich schätze mal, dass "uint value1 : 11;" bedeutet, dass aus dem Speicher 11 bit gelesen werden und in einem 32 Bit uint landen usw. Demnach hätte diese Struktur eine Größe von 11+7+32+1 = 51 Bit (durch 8 = 6,375 ~ 7 Byte).

Stimmt das so?

Und wenn ja, wie kann ich die Daten möglichst effektiv da rausholen?

Aus der DLL hol ich die Daten in einem U8-Array raus.

Ich habs schon so versucht, dass ich aus dem U8 Array ein Bool-Array gebastelt habe:

   

und dann hol ich mir daraus die einzelnen Werte mit diesem Code:

   

Jetzt ist mir zum einen die Taktik mit der For-Schleife zu langsam (ich muss eine ziemlich große Datenmenge pro Sekunde verarbeiten) und zum anderen bin ich mir nicht ganz sicher, ob die Bits auch alle in der richtigen Reihenfolge stehen, damit auch die richtigen U32 Werte herauskommen (bei meinem Programm kommen bisweilen nämlich teilweise ziemlich merkwürdige Daten raus - vor allem bei den Werten, die aus mehr als 8 Bit erstellt werden).


Ich hoffe, dass mir auch bei diesem Thema noch zu helfen ist... Rolleyes


Vielen Dank schonmal im Voraus!

Viele Grüße und ein schönes Wochenende,

Robert

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
C-Strukturen mit verschieden langen Elementen... - astraios - 23.03.2007 16:05

Gehe zu: