Кольцевой список

Do you have a question? Post it now! No Registration Necessary

Threaded View
Строю меню. Нужно перемещаться по пунктам туда-обратно и по кольцу, т.е.
нужно реализовать простой двусвязный список. Но поместить его во flash
не получается :(
Имеется такой кусок кода (IAR C++ 2.28):

struct Item {
  Item __flash * Next;
  Item __flash * Prev;
  void (*fun)(char);
  };

void f1(char K);
void f2(char K);
void f3(char K);

__flash Item It1 = ; // Здесь компилятор не находит It2 и
It3 и ругается
__flash Item It2 = ;
__flash Item It3 = ;

Item __flash * current = It1;

Что характерно, forward-определения функций не вызывают у него отвращения,
а вот с указателями (они ведь тоже во flash) -- беда. :(

Как уговорить компилятор?
Как хорошо было бы разместить структуру меню во flash!

Спасибо.


Re: Кольцевой список
Пpивет Arcady!

07 Май 04 22:43, Arcady Korotkevitch -> All:

 AK> Стpою меню. Hyжно пеpемещаться по пyнктам тyда-обpатно и по кольцy,
 AK> Как хоpошо было бы pазместить стpyктypy меню во flash!

 Hапpимеp pазмести не 3 стpyктypы, а массив стpyктyp и ссылкy на номеp
стpyктypы.

struct Item
    {
    unsigned char Next;
    unsigned char Prev;
    void (*fun)(char);
    };

__flash Item It1[]=
    {
    2,1,f1,
    0,2,f2,
    1,0,f3
    };

Igor


Re: Кольцевой список
Igor Ulanov пишет:

Quoted text here. Click to load it
Делал именно так, но при болшом и разветвленном меню легко запутаться.


Re: Кольцевой список
Привет, 8 мая 2004 г., 23:28:17, ты писал(а):

AK> Делал именно так, но при болшом и разветвленном меню легко
AK> запутаться.

Обязательно запутаешься. Я вышел из положения, придумав несложный язык
описания меню и написав компилятор с него в исходные файлы *.c и *.h
На первый взгляд выглядит довольно нецелесообразно, но при большом
количестве исправлений и разветвленном меню существенно экономит
время.

Всего хорошего.




--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru

Re: Кольцевой список
Hello, Arcady!
You wrote  on Fri, 7 May 2004 18:43:28 +0000 (UTC):

extern __flash Item It1;
extern __flash Item It2;
extern __flash Item It3;

 AK> __flash Item It1 = ; // Здесь компилятор не находит
 AK> It2 и
 AK> It3 и ругается __flash Item It2 = ;
 AK> __flash Item It3 = ;

With best regards,
            Alexander Derazhne.



Re: Кольцевой список
Alexander Derazhne пишет:

Quoted text here. Click to load it
Огромное спасибо!


Site Timeline