ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
19 мая
1020900 Топик полностью
Zoro (25.07.2020 16:19, просмотров: 577) ответил Гyдвин на ВОТ!!!
Лично я не догоняю смысл одновременного использования #pragma pack(1) и __align(4) применительно к struct {} 

как бы по умолчанию компилятор сам выполняет выравнивание (openwatcom например выравнивает на 4, а можно задать и другое значения опциями компилятора).


Другой случай: gcc странный .

__attribute__((packed))

и

__attribute__((1))

как бы должны делать одно и тоже но по факту результат разный.


struct IH{
U16 my_id;
U8 type_sens;
U32 conag;

} __attribute__((packed)) ;


можно делать присвоение conag = 33; (работа с conag выполнялась на уровне асма побайтно),

а если __attribute__((1)) - то ни черта не работало.

ИМХО - пишу по памяти (лет 5 тому назад писал программу - могу где то соврать, но суть такова).