1 / 7
文档名称:

回调函数的使用.doc

格式:doc   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

回调函数的使用.doc

上传人:fy5186fy 2016/6/12 文件大小:0 KB

下载得到文件列表

回调函数的使用.doc

文档介绍

文档介绍:回调函数的使用 Callback 函数观点 Callback 函数观点 1. 回调函数与普通函数的区别从概念上讲, 回调函数与普通函数的本质在于: 调用者的不同。普通函数由程序员代码调用,而回调函数由操作系统在适当的时间调用。回调函数主要用于处各种事件和处理。由于 WINDOWS 系统中存在大量程序员事先不可知的事件, 例如鼠标的单击, 程序员事先无法得知终端用户何时会发出此动作,因此只能: A 。定义事件的处理逻辑,与普通函数的编程一样; B。告之操作系统自己的处理逻辑, 即通知操作系统函数指针; VC/V B 等现代编程语言通过事件编程机制隐藏了这一步; C 。操作系统在事件出现时,调用指定的函数(回调函数的概念) 处理,这一步完全由系统负责。回调函数在各种操作系统中普遍存在, 是现代操作系统为程序员提供处理异步事件的基本机制之一, 在不同的系统中的具体实现方式各不相同;请参阅随机文档。 Callback 函数实质就是你实现这个函数, 由操作系统调用。而一般的情况下是, 操作系统提供函数由你来调用的。 2. 回调函数实际上就起到了消息循环的作用, 因为在 sdk 中只有通过回调函数来发送各自的处理消息 ++ 实现象 C/C++ 这样支持函数指针的语言都有回调函数的概念, 它实际上是向被调用函数传一个你的函数地址, 然后被调用函数向通过你传入的函数地址来调用你的函数。比如你做了一个遍历树的函数, 但你不知遍历者将对各节点做何种处理时, 你就可以在这个遍历函数中加一个函数地址的参数, 这样调用者在遍历该树时就可以做各种有意义的工作了:比如打印各节点数据、汇总所有节点之类。 回调函回调函数是用来处理窗口消息的函数,一般类型为 WindowProc(HWND hWnd,UINT message, WPARAM wParam, LPARAM lParam); hWnd 为窗口句柄, message 为消息 ID ,后面两个为消息参数。 MFC 将一部分处理消息的函数封状在 CWnd 类中,如 OnCreate 等,其参数也从 WPARAM wParam, LPARAM lParam 转换为 LPCREATESTRUCT 结构( 可以查看映射宏定义及 MFC 源代码)而其他的有些也可以用回调函数,如 WM_TIMER 消息,可以在 SetTimer 函数里面第三个参数指定回调函数,若为 NULL 则应该在 OnTimer 函数中处理改消息。 中的描述 Used to asynchronously read the messages ina queue. It is an application-defined function that MSMQ calls when a message is available, a time-out occurs, or an error occurs. 最本质的特征包括两点:注册和触发 Callback 函数是你提供给系统调用的函数。很多情况下,系统某个情况下,定义需要执行某个操作,而操作本身由有用户的程序来提供, 这时, 就要用到回调函数了。所以, 简单地说。回调函数,就是你写一个函数,在系统定义的地点提供给系统调用。举个例子: SetTimer()