我发现网上说的只是把回调函数当成钩子函数了,难道没有其他的用法了么?
我在程序中定义了一个回调函数,发现可以当作普通函数用!!!
难道回调函数主要就是当作钩子函数??

解决方案 »

  1.   

    有不同的 回调函数只能访问静态变量, 除非用参数
    Windows的消息都是回调函数方式
      

  2.   

    普通函数是由程序员调用的,回调函数是由windows调用的,
      

  3.   

    http://www.flounder.com/callbacks.htm
      

  4.   

    回调函数是种常用手段,它其实是你写好的一个函数,并期待别人或者是系统在合适的时候调用它。举个例子,用 API 控制 Modem 拨号,如果拨号函数简单地设计成这样:bool Dial(...) // 发起拨号,拨通后返回Modem 不是一拨就通的,你的程序就会在拨号时陷入停滞,无法响应其它任何事件。所以这个函数被设计成这样(只是例子哦,不是说真的有这样的函数,实际的函数你可以去看看 MSDN 中对 RasDial 的描述):void Dial(DIAL_CALLBACK* pConnected ...)这里的 pOnConnected 参数就是要你传入一个 CALLBACK 函数指针,从而拨通时系统会自动调用你的这个函数。此时你知道已经拨通了,可以做一些处理。够明白了吧????
      

  5.   

    拜托!这种问题问之前搜索一下以前的帖子ok?
    怎么这么多人就喜欢在这种概念题上纠缠不清呢??!!
    想知道__stdcall、__cdecl、__fastcall、__thiscall、PASCAL等修饰符的区别,就回去好好看看汇编!看看各个函数在编译的时候压栈动作是怎样的!
      

  6.   

    sorry,犯了一个概念错误:__fastcall没有压栈动作。抱歉。