• 全部
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

Call Back函数问题

wulinhui 2001-08-03 08:02:46
此种函数如窗口函数为何要作成这种系统调用,为什么不设置函数来处理,他的好处是什么,请讲详细点,谢谢了
...全文
70 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
azuo_lee 2001-08-09
CALLBACK函数之所以成为CALLBACK,其原因就在于,这种函数是由程序员提供,但对它的调用却是由系统负责,程序中不会显式的调用它(当然,你硬要调用,也可以)。比如最常见的窗口过程WindowProc,你辛辛苦苦写了半天,却发现,咦,我怎么程序中根本没调用过这个函数?!其实你在窗口类中已经把它告诉系统了,系统会调用。正因为如此,CALLBACK函数就必须遵守系统的调用约定,而不能像普通函数那样可以使用C调用规则,也可以使用pascal规则。CALLBACK这个宏就是为了实现这个约定——所有的回调函数都应用CALLBACK来修饰。Win16中,CALLBACK就是far pascal,Win32中,CALLBACK就是stdcall。Windows因为是事件驱动的,因此会大量地用到CALLBACK函数。不过话说回来,CALLBACK也只不过是遵守某种调用规则的函数而已,因此不一定只能被系统调用,如果需要,程序中也完全可以直接调用——它不见得就比别的函数特殊。
回复
wulinhui 2001-08-09
这种函数一般是系统定义的,基本上要做的系统已经作了,是不是只要理解,有没有什么实际应用的地方?
回复
土豆 2001-08-04
Call back是一种事件处理机制,比如说Windows程序的MainProc(),当某些事件发生时,系统调用程序的MainProc(),通知程序发生了什么事,而具体如何处理,完全由你在MainProc决定。
通样比如一些枚举函数也是通过CallBack实现的,比如枚举文件,系统只是告诉你找到了要找的文件这个事件,而如何处理完全有你的CallBack函数决定啊。
回复
prog_st 2001-08-03
A callback function is essentially an event handler that is implemented by an application and called by the system. Microsoft® Windows® applications typically implement multiple callback functions, each one designed for a particular set of events. When an event occurs, the system notifies the application by calling the appropriate callback function. The callback function also usually has a parameter list that the system can use to pass the application more detailed information about the event. The most common example of a callback function is the window procedure. This function is used by the system to pass Windows messages to the applications that owns the window.
回复
joe_fox1025 2001-08-03
call back函数实际是回调函数,他实际上可以是用户自己定义的函数,具有用户希望和需要的功能,当函数完成时,函数将返回一个用户预先定义的值,其实也就是自己设置的函数,这是我自己理解的,不知道对不对,希望大家赐教!
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2001-08-03 08:02
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……