回调函数机制,提供了系统对异步事件的处理能力;
1:将异步事件发生时需要执行的代码编写成一个函数;
2:将该函数注册成为回调函数;
3:当异步事件发生时自动调用事先注册好的回调函数
回调机制中的主要角色
函数提供方: 实现一个处理函数
函数调用方: 准备一个函数指针
异步事件发生前: 将处理函数赋值给函数指针
异步事件发生时: 调用方通过函数指针,调用提供方的处理函数
实例:
1:提供方 编写处理函数代码:
static void rxCB(int, int)
{
}
2:调用方声明函数指针:
typedef void (*rcCallBack_t) (int, int ) //define 一个函数指针类型
rcCallBack_t pcb;
如果上述的使用看的不是很明白,那么转换成下面的方式则易懂一些:
typedef rcCallBack_t void(*)(int, int) //define 一个函数指针类型, 一个函数指针,该函数有两个参数 int int 返回值为void型
rcCallBack_t pcb;
3:事先赋值
pcb = rcCB; 将函数rxCB赋值给函数指针pcb;
4:使用
正确赋值之后,直接调用函数指针,就可以执行处理函数了;