Jump to content
    

Выравнивание структуры

Доброе утро.

 

У меня есть arm LPC2106.

Я новичок.

Подскажите как выровнять структуры по 1 байту.

struct as {
 char tm;
  int tmp;
}

 

 

Share this post


Link to post
Share on other sites

А компилятор есть? :-)

Какой?

 

гулить

pragma pack

attribute aligned, packed

Share this post


Link to post
Share on other sites

WinARM это GCC, следовательно например вот так

 

typedef struct
{
    char tm;
    int tmp;
}__attribute__ ((packed)) _t_as_;

_t_as_ as;

Share this post


Link to post
Share on other sites

Еще можно так :

 

#pragma pack(push, 1)

struct S {

unsigned char a;

void *p;

unsigned char b;

}

#pragma pack(pop)

 

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

 

Share this post


Link to post
Share on other sites

Еще можно так :
WinARM это настолько древний gcc, что не знал еще такой прагмы и молча игнорировал ее. Появилась она совсем недавно. А автору вопроса можно заодно посоветовать заменить компилятор из WinARM на более современную версию.

 

Share this post


Link to post
Share on other sites

WinARM это настолько древний gcc, что не знал еще такой прагмы и молча игнорировал ее. Появилась она совсем недавно. А автору вопроса можно заодно посоветовать заменить компилятор из WinARM на более современную версию.

 

Launchpad потдерживает только Cortex.

 

Share this post


Link to post
Share on other sites

Launchpad потдерживает только Cortex.
Правда? Я, пока вы не сказали, его и для Cortex и для ARM7TDMI использовал. И программы работают.

 

Share this post


Link to post
Share on other sites

Правда? Я, пока вы не сказали, его и для Cortex и для ARM7TDMI использовал. И программы работают.

 

Наверное я не правильно понял содержимое следующего топика

https://answers.launchpad.net/gcc-arm-embed...question/193998

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...