所以我有一个结构,我通常只执行 sizeof(mystruct) 并且在为 x86 编译时它会返回 0x2C,但是一旦我将编译器切换到 JUST x86_64,它就会告诉我大小为 0x30,这对我来说毫无意义。
这是结构:
typedef struct Struct
{
int32_t unk1; // 0x0
int32_t unk2; // 0x4
int32_t unk3; // 0x8
int32_t unk4; // 0xC
int64_t guid; // 0x10
int32_t entryID; // 0x18
int32_t bytes; // 0x1C
int32_t duration; // 0x20
int32_t expiration; // 0x24
int32_t unk5; // 0x28
} Struct;
然后我做:
Struct mystruct;
NSLog(@"0x%X", sizeof(mystruct));
它打印出 0x30,但不应该是 0x2C 吗?我看不出我的问题出在哪里
谢谢!