Int = 4 | Struct int = 8 o.0 ?

05/24/2015 13:48 Terrat#1
Hallo,
eine kurze Frage die mir gleich mein Kopf zerstört da ich es einfach nicht kapiere.
printf("INT32:%i\n", sizeof(int32_t)); -> Output 4
printf("INT32:%i\n", sizeof(test.type)); -> Output 4 ( struktur = test)
Bis dahin stimmt ja alles lasse ich mir aber das Packet ausgeben nimmt der Integer 8 oder mehr Bytes ein und nicht 4. Woran liegt das ?
[Only registered and activated users can see links. Click Here To Register...]
Der eigentliche Output sollte so sein:
Code:
4:0 <- byte 
5:0 <- integer 4 bytes
6:0
7:0
8:0
9:1 <- byte
10:3 <- byte
Edit: Es liegt an dem Byte davor in der Struktur wie kann ich den fehler beheben ?
05/24/2015 14:13 suiluJ.#2
#pragma pack(push, 1)
struct foo {
// etc..
};
#pragma pack(pop)
05/24/2015 14:33 Terrat#3
Quote:
Originally Posted by Julius... View Post
#pragma pack(push, 1)
struct foo {
// etc..
};
#pragma pack(pop)
Danke hasii <3 ° - °