首页 > 代码库 > 回调函数示例
回调函数示例
其实内核中有非常多的函数是回调函数,比如各种注册函数和初始化函数等
例如:request_irq、tasklet_init等,其实就是注册一个回调函数,然后在回调函数中一直执行所注册的句柄函数
这里是回调函数最简单的示例,内核中的很多函数基本原理类似:
linux@ubuntu:/mnt/shared/appbox/callback$ cat callback.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> int handle_a(int val, char *str) { printf("Enter %s, val:%d!\n", str, val); return 0; } int handle_b(int val, char *str) { printf("Enter %s, val:%d!\n", str, val); return 0; } int callback(int value, int (*func)(int, char *), char *str) { func(value, str); return 0; } int main(int argc, char *argv) { callback(1, handle_a, "*handle_a*"); callback(2, handle_b, "*handle_b*"); return 0; } linux@ubuntu:/mnt/shared/appbox/callback$
linux@ubuntu:/mnt/shared/appbox/callback$ ./callback Enter *handle_a*, val:1! Enter *handle_b*, val:2! linux@ubuntu:/mnt/shared/appbox/callback$
回调函数示例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。