私のコードは以前は機能していましたが、構造体のサイズが突然 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 で構造体をパックするには?