К примеру вот такая конструкция работает везде, и в Линукс и в Виндовс и на ПИКе и на АРМ. Код #ifdef __GNUC__ #define __PACKED_ATTR __attribute__ ((__packed__)) #else #define __PACKED_ATTR /*nothing*/ #ifndef __18CXX #pragma pack(push, 1) #endif #endif /* __GNUC__ */
typedef struct __GENERIC_CMD { unsigned char id; unsigned short status; unsigned char reserved[6]; } __PACKED_ATTR GENERIC_CMD, *PGENERIC_CMD;
#ifndef __GNUC__ #ifndef __18CXX #pragma pack(pop) #endif #endif
--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть. © Lewis Carroll. Alice's adventures in wonderland.
|