我的代码过去能够正常工作,但现在结构体的大小突然变成了16字节。它曾经是13字节。我最近从Xcode 4.2升级到Xcode 4.3.1(4E1019)。
#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);
我尝试过使用,但没有成功
#pragma pack(push, 1)
/* struct ChunkStruct { ... }; */
#pragma pack(pop)
我也尝试了下面的方法,但没有成功
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)));
如何在Xcode 4.3.1中打包结构体?