
所谓回调函数就是提供API供其他函数或线程调用某个函数,通过给函数传参(函数指针)的方式实现。
C范例:
#include <stdio.h>
#define ECHO_HELLO 0
#define SAY_GOODBYE 1
/* 定义回调函数指针类型 */
typedef void(*lpFunc)(int);
/* 回调操作 */
void pr_info(int cmd)
{
switch (cmd) {
case ECHO_HELLO:
printf("hello\n");
break;
case SAY_GOODBYE:
printf("good bye\n");
break;
default:
break;
}
return;
}
/* 回调函数, 可根据传参做不同的回调操作 */
void call_back(int cmd, lpFunc callback)
{
callback(cmd);
}
int main(void)
{
int cmd = ECHO_HELLO;
/* callback --> pr_info */
call_back(cmd, pr_info);
return 0;
}
浙公网安备 33010602011771号