[an error occurred while processing this directive] [an error occurred while processing this directive]
Помогите!!! Проблема с компилятором IAR для MSP430 - как обойти выравнивание? (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Беня 16 апреля 2002 г. 19:07

У меня есть проект, написанный под другой процессор на C. Переношу на MSP430. На что я натолкнулся :
typedef struct __str1 {
unsigned char ch1[ 2] ;
unsigned char ch2[ 3] ;
} str1 ;
Так вот sizeof( str1) == 6 , а не 5 !!!! Т. е. компилятор выровнял на границу 2-х байтов. А у меня все (в том числе и обмен с ЭВМ - длины запросов и ответов) построен на вычислении с помощью sizeof. Как это обойти ? А то переделывать очень долго и чревато ошибками, а программа уже отлаженная на другом процессоре и не хочется ничего менять. Может, какие-нибудь директивы или опции есть ?

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru