C++中的回调函数是由谁调用的?操作系统吗?

sinuoke9999 2014-04-10 10:22:05
C++中的回调函数是由谁调用的?操作系统吗?
...全文
284 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lm_whales 2014-04-10
  • 打赏
  • 举报
回复
Windows 窗口过程,定时器过程,线程函数,这些回调函数,是操作系统的某个部分在调用。 另外,你自己也可以仿照这种方式,写带回调函数的函数,程序代码。 有些回调是很明确的,比如枚举窗口函数就是 EnumWindows 这个函数在调用回调函数EnumWindowsProc ,并且回调函数是作为函数参数 格式为 BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam); 传递的,和自己写的完全一样。。只要学过函数指针就知道怎么回事。 有些回调则比较隐晦,是要注册一下,回调函数,需要的时候,才去调用。 有些库函数的回调,则很简单,就是函数指针的简单应用。 回调函数这个思想或者说提法,很有用。 但是实现方法并不神秘,就是通过函数指针调用函数。 其实就像填词一样,回调函数是预先固定好,要调用函数的类型格式。 用户调用某个功能的时候,按照那个格式定义函数,填好内容 然后就可以使用该功能了。
zybjtu 2014-04-10
  • 打赏
  • 举报
回复
回调函数是一个编程思想。 具体地说,就是你写的函数是用来被别的地方调用的。
Steven-Xu 2014-04-10
  • 打赏
  • 举报
回复
回调函数确实是一个门槛,如果深刻理解并且能使用好回调函数的话,编程境界会得到一步提升
rmaly 2014-04-10
  • 打赏
  • 举报
回复
回调函数是用指针的方式调用函数
赵4老师 2014-04-10
  • 打赏
  • 举报
回复
Windows系统:“不要调用我,请先填写好未来收到某个消息时你的处理流程,在那个消息到来时我会调用你!” 在回调函数中设断点,然后按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。
mujiok2003 2014-04-10
  • 打赏
  • 举报
回复
用户线程执行用户的回调函数,一般不是内核执行的。
Nova223 2014-04-10
  • 打赏
  • 举报
回复
回调函数(callback)并不是指某个函数,而是一种编程方法。是将函数名作为参数传递的一种形式,说白了就是函数指针。 至于谁调用,你写的谁调用就是谁调用啊。 比如 我们有三个function f1() f2() f3() f1() { f2(f3); } 这f3就是回调函数

64,653

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧