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

 
 
> Поясните конструкции С из segment_init
Dopler
сообщение Feb 3 2007, 10:28
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425



Господа, поясните, пожалуйста, что означает данная конструкция:

Код
typedef struct
{
  long   Size;                  /* Number of bytes to initialize */
  char*  Dst;                   /* Destination. If Dst==Src, then init to 0 */
  char*  Src;                   /* Source address. Usually in ROM. */
} InitBlock_Type;

...

_interwork void __segment_init(void)
{
  InitBlock_Type const * const initTableBegin = __sfb( "INITTAB" );
  InitBlock_Type const * const initTableEnd = __sfe( "INITTAB" );
  InitBlock_Type const * initTableP;

  /* Loop over all elements in the initialization table. */
  for (initTableP=initTableBegin; initTableP<initTableEnd; initTableP++)
  {
    /* If src=dest then we should clear a memory
     * block, otherwise it's a copy operation. */
    if (initTableP->Src == initTableP->Dst)
    {
      memset(initTableP->Dst, 0, initTableP->Size);
    }
    else
    {
      memcpy(initTableP->Dst, initTableP->Src, initTableP->Size);
    }
  }
}


InitBlock_Type const * const особо интересует, хотя все остальное мне тоже мало понятно.

Код взят из segment_init IAR и идет с директивой #pragma language=extended, что это значит?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zltigo
сообщение Feb 3 2007, 12:50
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Dopler @ Feb 3 2007, 09:28) *
что это значит?

Это значит, что пора просто читать книги по языку.
Совершенно обычная работа со структурами и указателями на оные sad.gif.
Ну а __sfb __sfe это уже в IAR расширения и про них уже в документации на IAR компилятор.
#pragma language - там-же.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 12:52
Рейтинг@Mail.ru


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