Цитата(etoja @ Apr 28 2008, 18:40)  Rowley Crossstudio 1.4 build 5 для ARM. Вопрос по упакованным структурам.
Определяю тип структуры таким образом: typedef struct TCodeHeader { u8 Code; u8 ID; u16 Len; } T_CodeHeader __attribute__ ((packed)); Атрибут указывает компилятору упаковать структуру в одно 32-битное целое, как в хелпе. Но при компиляции выдаётся warning: "packed" attribute ignored.
Вопрос: как правильно задать упакованную структуру?
Примечание: в компиляторе GreenHills MULTI нет такой проблемы, просто задаёшь опцию #pragma pack(1) __attribute__((packed)) нужно применять к типу а не к его экземпляру. Код typedef struct TCodeHeader { u8 Code; u8 ID; u16 Len; } __attribute__ ((packed)) T_CodeHeader;
--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть. © Lewis Carroll. Alice's adventures in wonderland.
|