Применяю в общих для ИАР и Борланда описательных файлах #pragma pack( 2 ). Раньше char-ов в структурах не было, все было ОК. Сейчас вылезло: Если несколько char-ов подряд в структуре, то выравнивание не работает, т.е. работает не так, как надо. Компилятор размещает char-ы с выравниванием по байтам, только последний нечетный выравнивает по слову. Попробовал поставить #pragma pack( 8 ), 16. Я ожидал, что каждый элемент структуры будет выровнен по этому количеству байт. Хрен мне! Короче решил не морочиться, и не разбираться, а ставить #pragma pack( 2 ) и char-ы выравнивать вручную добавлением неиспользуемых char-ов. #pragma pack( 1 ) работает, но уж больно наворачивает компилятор кода на это дело...
--------------------
Если зайца бить, его можно и спички научить зажигать Сколько дурака не бей - умнее не будет. Зато опытнее
|