Работа с не выравненными структурами на АРМм9

ARM
Суть: необходимо с контроллера АРМ отправить данные(не важно как хоть по сети, хоть но последовательному порту) на х86 машину, передавать будем такую структуру.
struct test {
unsigned char ch;
unsigned short sh;
unsigned lg;
};
int main (int argc, char** argv )
{
printf("%d\n", sizeof(test));
return 0;
}

Не сложно подсчитать, что ее фактический размер 7 байт, но компилятор, ее выравнит на 8 байт. Поэтому никто не гарантирует что приведенную выше структуру у вас не всегда получиться правильно принять, не известно в какое место структуры вставят лишний байт.


Читать дальше