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

GNUC, msvc -> Cx51

Добрый день!

 

У меня есть код программы на С для GNUC и msvc, а я его хочу переписать для Cx51 компилятора, чтобы его запустить на МК C8051F320 MCU.

Ошибки при компиляции ссылаются на следующие строчки:

 

#ifdef __GNUC__

 

#define PACKSTRUCT( decl ) decl __attribute__((__packed__))

#define ALIGNED __attribute__((aligned(0x4)))

 

#else //msvc

 

#define PACKSTRUCT( decl ) __pragma( pack(push, 1) ) decl __pragma( pack(pop) )

#define ALIGNED

 

#endif

 

Поэтому мне надо переписать вышеописанные макросы, так чтобы Cx51 компилятор мог меня понимать. Весь остальной код более менее универсальный. Пока не знаю, как это сделать. Есть идеи?

 

Заранее спасибо!

 

С уважением,

SANEL

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


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

Вот такие макросы должны сработать

#define PACKSTRUCT( decl ) decl
#define ALIGNED

Т.к. на 8-битной архитектуре выравнивание и упаковка структур особого смысла не имеют, т.к. они всегда упакованы и выровнены по границе в один байт.

 

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

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


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

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

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

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

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

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

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

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

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

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