CALLBACK总结

原创 2012年03月30日 13:27:39
CALLBACK函数在微软的官方手册中是这样定义CALLBACK函数的:“CALLBACK函数是由应用程序 
定义而由操作系统调用的函数”。 

凡是由用户设计而却由Windows系统调用的函数,统称为Callback函数,这些函数都有一定的类型,以配合Windows的调用操作。   


某些API函数以Callback作为其参数之一,这些API,如SetTimer、LineDDA、EnumObjects。

通常这种API会在进行某种行为之后或满足某种状态之时调用该Callback函数。另外,如果类的成员函数是一个Callback函数,它必须被声明为”static”,才能把C++编译器加诸于函数的一个隐藏参数this去掉。 

  

那为什么要去掉this指针呢?因为callback函数是给windows函数调用的,Windows并不借助任何对象调用该函数。

如果去掉static的话,就会导致堆栈中有一个随机变量会成为this指针,而结果就是程序的崩溃。

记住:凡在类中声明为static的东西(不管是函数或变量)都并不和对象结合在一起,它们是类的一部分,不属于对象。  


何时使用WINAPI,CALLBACK 以及_stdcall _cdecl _pascal 等的用法区别总结

#define   CALLBACK         __stdcall  #define   WINAPI             __stdcall  #define   WINAPIV ...
  • u013501457
  • u013501457
  • 2014年05月18日 18:19
  • 1299

Android关于callback的一些总结

关于callback的一些总结刚开始接触回调的时候感觉,我擦,这么难搞的东西,我应该怎么下手呢?记得那是我第一次接触项目,是一个商城类app,主管叫我完善购物车相关功能,主要是给添加到购物车里面的商铺...
  • github_35794838
  • github_35794838
  • 2016年08月05日 00:26
  • 48

Callback在C\C++中的实现

Callback是这样的一类对象(在这里不能简单的理解为"回调函数"了):你注册一个函数,以及调用它时的参数,希望在满足某个条件时,以这些注册的函数调用这个回调,完成指定的操作. 很多地方会使用...
  • weiqubo
  • weiqubo
  • 2013年11月27日 15:45
  • 2399

Java中实现CallBack功能

在很多场景,作为开发都会想到,在执行完毕一个任务的时候,能执行一个callback函数是多么好的事情。 现在模拟一下这个情景: 定义三个类。分别是主函数类。callback函数的接口类。业务处理类。在...
  • imzoer
  • imzoer
  • 2013年07月23日 14:51
  • 20039

Android中callback(接口回调)机制

其实,callback 机制在Android 中无处不在,特别是以Handler、Callback、Listener这三个词结尾的,都是利用callback机制来实现的。比如点击事件onClickLi...
  • Kern_
  • Kern_
  • 2015年06月12日 16:41
  • 2547

什么是回调函数Callback----自己的一点理解

何为回调函数:若把函数的指针作为函数参数传递给一个函数,当这个指着被用来调用它所指向的函数时,我们将该指针所指向的函数称为**回调函数**。回调函数与普通函数最大区别在于函数的调用。对普通函数而言,函...
  • Andoubi
  • Andoubi
  • 2016年08月03日 14:45
  • 1367

总结《二》MFC中WinMain和CALLBACK

MFC中一般消息传递过程 一、路线        1.一般普通窗口或控件建立调用CWnd::CreateEx函数        2.经过资源对话框创建的即不调用CWnd::CreateEx函数 二、分...
  • jadeshu
  • jadeshu
  • 2017年05月09日 22:34
  • 304

js回调函数(callback)

首先还是从jquery网站上的英文定义入手,身为国人,我真感到悲剧。一个回调的定义被国内的“高手”解释成什么样,就在那绕圈子,貌似只有把你绕进去了,他才算高手。浮云,一切都是浮云。     A cal...
  • paincupid
  • paincupid
  • 2015年01月08日 10:40
  • 4793

《C关键字分析》之typedef与callback

一、typedef定义函数指针类型 1.源码 2.c #include typedef int (*HAL_CALL_BACK)(int,int); int test(in...
  • tankai19880619
  • tankai19880619
  • 2014年04月04日 11:28
  • 1451

osgcallback程序注解及CallBack回调的介绍(转)

下面的文章虽然写的较早,但是对比例子代码还是可用的,我已经对比了osg3.5.1版本的例子。觉得不错。感谢原作者。 osgcallback程序注解及CallBack回调的介绍(转) http://...
  • thanklife
  • thanklife
  • 2016年10月21日 12:04
  • 992
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CALLBACK总结
举报原因:
原因补充:

(最多只允许输入30个字)