« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
| 公告 |
谦卑,荣誉,牺牲,英勇,怜悯,诚实,精神,公正。 |
Blog信息 |
blog名称: 日志总数:183 评论数量:698 留言数量:7 访问次数:3023410 建立时间:2005年12月29日 |

| |
[我的笔记]回调函数 读书笔记, 软件技术
newqiang 发表于 2006/3/16 11:48:38 |
1 回调函数 作为c语言来说,只有函数的说法。因此不管是回调函数还是函数都是函数,在定义上是没有区别的。置于在某些系统中,有些函数是你写并被你自己调用,这就是你说的“过程函数”而另一些俄函数是由你来写但是在某些情况下不光由你来调用还可能被系统调用,这种函数就是“回调函数”。 既然在某些情况下,系统也要调用则这种函数在定义上必须符合系统预先定义的一些标准,比如窗口函数是最普遍的回调函数系统规定了这个函数必须有一个LRESULT的返回值,以及它需要的四个参数LRESULT function(hWnd, message, wParam, lParam)。
回调函数就是为系统提供一个接口,系统就会记录下这个函数的地址,当某个事件发生的时候,系统就可以调用你提供的这个接口干你想干的事情。比如系统有这样一个功能:void 注册开水报警器(void (* 我的开水报警器)(void));我们自己写个函数:void 我的开水报警器(void){ printf(“水开了!!\n”);}然后调用系统提供的接口注册我们的函数开水注册报警器(我的开水报警器);这样,指定事件发生的时候,就会调用我们自己写的函数。
回调函数(callback function)是一种供系统调用的函数。在设置回调函数时,将你的回调函数的地址作为参数送给系统。当系统调用时(如事件发生,启动功能...),就自动会执行你的回调函数。程序本身不需要执行该函数。常见的回调函数在 directX(OpenGL),Driver Design中要枚举驱动程序,显示模式等。
|
|
回复:回调函数 读书笔记, 软件技术
w_x_y(游客)发表评论于2010/8/23 9:50:21 |
|
回复:回调函数 读书笔记, 软件技术
yy(游客)发表评论于2009/12/24 22:01:18 |
|
回复:回调函数 读书笔记, 软件技术
con(游客)发表评论于2009/4/10 9:59:46 |
|
回复:回调函数 读书笔记, 软件技术
的(游客)发表评论于2008/2/28 0:00:05 |
|
回复:回调函数 读书笔记, 软件技术
tongtong(游客)发表评论于2008/2/14 21:46:06 |
有两个问题请教:
1.进程1可以用进程2的回调函数吗?
2.A可以使用B的回调函数,和A使用这个函数作为API两者有什么区别吗 |
|
回复:回调函数 读书笔记, 软件技术
banqhu(游客)发表评论于2007/8/2 10:11:40 |
|
回复:回调函数 读书笔记, 软件技术
哈哈(游客)发表评论于2007/7/10 12:06:10 |
|
回复:回调函数 读书笔记, 软件技术
哈哈(游客)发表评论于2007/7/10 12:05:04 |
|
回复:回调函数 读书笔记, 软件技术
xuwei1231231(游客)发表评论于2007/6/17 21:11:04 |
|
回复:回调函数 读书笔记, 软件技术
wts(游客)发表评论于2006/12/4 13:24:51 |
xiexie我们老师今天说了一下,我不太懂,但现在好一些. |
|
|