Здравствуйте, Odi$$ey, Вы писали:
OE>Здравствуйте, Bujum, Вы писали:
B>>имеется структура следующего вида:
B>>B>>struct Foo
B>> {
B>> BYTE a;
B>> DWORD b;
B>> };
B>>
B>>Ессно sizeof(Foo) возвращает не 5. (У меня 8).
B>>В настройках VC7: Struct member alingment — default. (1 byte не предлагать)
OE>ну поставь не в настройках, а только для этой структуры:
OE>OE>#pragma pack (push, 1)
OE>struct Foo
OE>{
OE> BYTE a;
OE> DWORD b;
OE>};
OE>#pragma pack (pop)
OE>
OE>если она пишется с выравниванием в 1 байт, другого выхода у тебя все равно нет
а если будет так:
struct Foo
{
BYTE a;
DWORD b;
};
struct DerFoo
: public Foo
{
WORD c;
};
насколько я понимаю теперь читать напрямую в структуру не только сложно, но и опасно. Ведь первые байты
в ней указатель на Foo. Как быть в это случае?