[an error occurred while processing this directive]
Хотя я не знаток IAR'а но всё же...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено NoMore 04 декабря 2002 г. 15:47
В ответ на: Знатоки IARa помогите(+) отправлено Rodik 04 декабря 2002 г. 14:44

в typedef'е определяется только тип а не где эта функция "валяется", тобиш - класс памяти (extern, static). Поэтому, второе не должно компилиться в принципе. Что Вам надо, так это объявить тип указателя так как Вы это сделали (первая строчка), затем задать конкретную функцию как extern, т.е. вот это проканает:

typedef byte (*TMicrosCreateTask) (TTaskState *TaskState, TTask Task);
extern byte MicrosCreateTask (TTaskState *TaskState, TTask Task);

// вот теперь можно вызывать нашу функцию по указателю

TMicrosCreateTask pMicrosCreateTask = MicrosCreateTask; //объявляем и инициализируем указатель

pMicrosCreateTask (&task_state, task); // вызываем ф-цию на асме

Успехов, NoMore

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

Ответы



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

E-mail: info@telesys.ru