struct und pragma alignment
-
Hallo,
habe folgendes Szenario:
// Variante 1 #pragma alignment 1 typedef struct // Ich weiss, ist C { char Char_1 ; int Int_1 ; char Char_2 ; } MyStruct ; #pragma alignment //--------------------------------------------------------------------------- class MYCLASS { private: // Variante 2 #pragma alignment 1 MyStruct Message ; #pragma alignment public: };Ich will Message später als einen char-array verwenden, möchte also, dass alle Bytes hintereinander liegen.
Leider ist mir der Gebrauch des #pragma etwas schleierhaft. Wann muss ich es einsetzen? Wenn ich MyStruct definiere oder wenn ich Message deklariere?
Wird mit #pragma alignment die Einstellung wieder zurückgesetzt?
-
Welchen Compiler verwendest du?
BTW - ähnliche Thematik:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-117530-and-view-is-previous.html(mit der Forensuche solltest du noch mehr in der Richtung finden, bzw. in der Doku deines Compilers)
-
Danke, der Link hat die Frage beantwortet.
Benutze BCB und in der Hilfe habe ich zwar etwas über alignment gefunden, aber leider wurde mir nicht klar, dass ich dafür #pragma pack verwenden kann und wie (kein example in dem Zusammenhang).