Цитата(otrog @ Jul 11 2006, 09:31)

Кстати в моей структуре смешаны unsigned int и unsigned long
Это вызовет выравнивание до unsigned long?
Это вызовет выравнивание по длине машинного слова. Для IBM PC, ARM это будет 4 байта, для MSP430 2 байта, для AVR - 1 байт.
Цитата(otrog @ Jul 11 2006, 09:31)

Т.е. если я одинаковую структуру подсуну разным компиляторам(для разного железа, напр. AVR и IBM PC), то при обмене структурами через UART посредством указателя, я получу несовместимые друг с другом системы?
Как же тогда быть?
заводить для обмена временные переменные для которых тип структуры объявлен с #pragma pack