本帖最后由 终南愚公 于 2023-11-2 19:57 编辑
终南愚公 发表于 2023-11-1 14:16 讲得太复杂了。系统提供的客户服务的函数中(同时)调用客户为系统服务的函数就叫回调函数。
说得更细一点:开发一个软件系统,目的是为用户提供服务的。但是,由于用户工况的不确定性,或者为了节省系统资源,可以回请用户为系统做一些工作,也就是说系统回调用户函数,这样回调的概念就形成了。最典型的例子就是中断函数中嵌入回调函数,系统不知道用户中断想实现什么功能,提供一个回调函数,由用户自行解决其需求。当然,其他系统函数也可以这样做。所谓的回调函数是通过函数指针调用的函数,没有触及回调函数的本质,基本上就是胡说八道,因为c语言的函数名本质上就是指针,c语言的所有函数调用都是通过指针实现的。回调函数并不是什么特殊的函数,其功能是方便系统设计,或者隐藏中断配置等。