Vc 中回调函数简要说明

来源:互联网 发布:阿里备案域名出售 编辑:程序博客网 时间:2024/05/21 17:41

Vc 中回调函数简要说明

如:

void CALLBACK OnProcessData);

函数申明中加上CALLBACK就表示该函数为回调函数。

 

凡是由你设计却由windows系统呼叫的函数,统称为callback函数。

 

但这么说又对回调的理解局限了些。

 

回调函数和普通函数没什么区别,只是使用上的区别。

回调是一种解决问题的实现方式或方法。

 

举个例子,

       staticvoid CALLBACK TimerProc(HWND hWnd,UINT nMsg,UINT nTimerid,DWORD dwTime);

定时器可以通过回调函数实现。定时器启动后,由系统决定什么时候执行定时的操作TimerProc,TimerProc执行的内容由你来定。

你只需将系统需要定时调用的TimerProc的地址告诉系统即可。

SetTimer(NULL,1,200,TimerProc);

 

TimerProc 就是一个用来回调的函数。

 

回调就是通过传递函数指针的方式让不关心或不知道函数实现的一方执行函数的方法。

这是一种系统设计的需要。

 

回调可以解决消息通知问题,可以降低两实体间的耦合度等。

 

如果功能提供者的某个方法只有功能使用者知道的话,可以使用回调方法将两者分离,没别要为此捆绑在一起。当然不时唯一的方法。

 

回调函数和普通函数没什么区别。但回调函数声明中都有 CALLBACK

CALLBACK WINAPI等一样都只是 _stdcall 函数调用约定的声明:

 

_stdcall 按从右至左的顺序压参数入栈,由被调用者把参数弹出栈。”

 

之所以要_stdcall调用约束,主要是考虑到CALLBACK WINAPI等调用情况是“多对一”的调用情况,比如OpenFile 这个api函数会被很多程序调用。如果所有的调用都是由调用者负责参数出栈的话,link 后的执行文件中会无谓的多出重复的执行代码。

 
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 被淘宝主播屏蔽怎么办 在淘宝客推广后退款怎么办 生产出现异常时你应该怎么办 违规后的店铺没访客怎么办 淘宝少发货店家不承认怎么办 淘宝买东西店家不发货怎么办 淘宝店家拒绝同意退款怎么办 被淘宝店家骂了怎么办 淘宝买家骂店家骚扰店家怎么办? 不想开淘宝店了怎么办 我是客服经常有客户骂人怎么办 淘宝直播前期没人看怎么办 淘宝被投诉商标侵权怎么办 淘宝后商家页面打不开了怎么办 淘宝遇到职业打假人怎么办 发票被复写上字怎么办 淘宝直播广告图片的商品怎么办 美团商家排名低怎么办 想成为淘宝主播怎么办 用移动流量很卡怎么办 淘宝店铺被恶意刷流量怎么办 一个想要公司权利的人怎么办 淘宝商家短信推广告怎么办 在群里乱发信息怎么办 支付宝扫不了码怎么办 淘宝商家收款不发货怎么办 淘宝申请退款商家拒绝怎么办 一件代发找不到供货商怎么办 淘宝京东兼职上当怎么办 退货时快递丢件怎么办 淘宝店铺代销1688有订单怎么办 供应商已解除合作无法代销怎么办 被代运营骗了怎么办 被淘宝运营骗了怎么办 淘宝运营公司骗了怎么办 被金融公司骗了怎么办 天猫品牌方投诉怎么办 淘宝卖家售假被扣了12分怎么办? 淘宝店被投诉了怎么办 淘宝商品被投诉侵权怎么办 淘宝小二胡乱判怎么办