SANEL 0 30 августа, 2013 Опубликовано 30 августа, 2013 · Жалоба Добрый день! У меня есть код программы на С для 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
msalov 0 30 августа, 2013 Опубликовано 30 августа, 2013 · Жалоба Вот такие макросы должны сработать #define PACKSTRUCT( decl ) decl #define ALIGNED Т.к. на 8-битной архитектуре выравнивание и упаковка структур особого смысла не имеют, т.к. они всегда упакованы и выровнены по границе в один байт. Если же у вас используются неупакованные структуры, придётся расставлять ручками байты отступов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться