Все очень просто. Описываеш например как:
void (* fptr)();
ну и например
void f1 (void) { //Do something }
Инициализация делается так:
fptr = &f1;
Вызывается также как обычная функция:
fptr();
можно также передавать и получать параметры: тип (* fptr)(список переменных)....
Таким методом вызывать функцию через указатель... Далее можно сделать либо список, либо таблицу указателей. И работать с ними. У меня на таймере так куча задач реализовано. Причем можна добавлять задачу, изменять дискрет выполнения в мсек., включать/выключать, удалять из списка. Функции на выполнение все внешние...
Сообщение отредактировал VIRt - Oct 5 2007, 10:56
|