реклама на сайте
подробности

 
 
> GNUC, msvc -> Cx51, Переделать #define для GNUC или msvc для Cx51
SANEL
сообщение Aug 30 2013, 12:15
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 30-08-13
Пользователь №: 78 128



Добрый день!

У меня есть код программы на С для 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
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 1)
msalov
сообщение Aug 30 2013, 12:32
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 24-08-07
Из: Беларусь, Минск
Пользователь №: 30 045



Вот такие макросы должны сработать
Код
#define PACKSTRUCT( decl ) decl
#define ALIGNED

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

Если же у вас используются неупакованные структуры, придётся расставлять ручками байты отступов.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 05:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.02647 секунд с 7
ELECTRONIX ©2004-2016