前言:这个回调实例分三层:底层为任务函数实现层;核心层为数据结构和任务注册/注销层;上层为应用层。
底层:
/task_def.c/
#include <stdio.h>
void
task1(int x, char y, void * ptr)
{
printf("task1:argv[0] = %d argv[1] = %c argv[2] = %s\n", x, y, (char *)ptr);
}
void
task2(int x, char y, void * ptr)
{
printf("task1:argv[0] = %d argv[1] = %c argv[2] = %s\n", x, y, (char *)ptr);
}
void
task3(int x, char y, void * ptr)
{
printf("task1:argv[0] = %d argv[1] = %c argv[2] = %s\n", x, y, (char *)ptr);
}
/task_def.h/
#ifndef __TASK_DEF_H__
#define __TASK_DEF_H__
typedef void (*PF)(int x, char y, void *ptr);
void
task1(int x, char y, void * ptr);
void
task2(int x, char y, void * ptr);
void
task3(int x, char y, void * ptr);
#endif
核心层:
core.c
#include <stdio.h>
#include "ta