pragma pack (1 )ни __атрибут__((выровненный (1 )))работает

Раньше мой код работал, но теперь размер структуры внезапно стал 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?

18
задан neoneye 29 April 2012 в 10:07
поделиться