Mã của tôi được sử dụng để làm việc trong quá khứ, nhưng bây giờ kích thước struct đột nhiên là 16 byte. Nó từng là 13 byte. Gần đây tôi đã nâng cấp từ Xcode 4.2 lên Xcode 4.3.1 (4E1019).gói pragma (1) cũng không __attribute__ ((căn chỉnh (1))) hoạt động
#pragma pack(1)
struct ChunkStruct {
uint32_t width;
uint32_t height;
uint8_t bit_depth;
uint8_t color_type;
uint8_t compression;
uint8_t filter;
uint8_t interlace;
};
#pragma pack()
STATIC_ASSERT(expected_13bytes, sizeof(struct ChunkStruct) == 13);
Tôi đã cố gắng sử dụng unsuccesfully
#pragma pack(push, 1)
/* struct ChunkStruct { ... }; */
#pragma pack(pop)
Tôi cũng đã thử những điều sau đây, nhưng không có may mắn
struct ChunkStruct {
uint32_t width;
uint32_t height;
uint8_t bit_depth;
uint8_t color_type;
uint8_t compression;
uint8_t filter;
uint8_t interlace;
} __attribute__ ((aligned (1)));
Làm thế nào để đóng gói struct với Xcode 4.3.1?