Перейти к содержанию
    

Указатель на структуру

Можно прагмой, в gcc для этих целей есть атрибут. Можно также задать соответсвующую настройку компилятора сразу для всего кода. Ничего страшного нет, нужно просто помнить об этом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати в моей структуре смешаны unsigned int и unsigned long

Это вызовет выравнивание до unsigned long?

Это вызовет выравнивание по длине машинного слова. Для IBM PC, ARM это будет 4 байта, для MSP430 2 байта, для AVR - 1 байт.

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

Как же тогда быть?

заводить для обмена временные переменные для которых тип структуры объявлен с #pragma pack

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...