C语言中LRESULT CALLBACK是什么意思啊?

C语言中LRESULT CALLBACK是什么意思啊?,第1张

LRESULT是一个数据类型,指的是从窗口程序或者回调态世函数返回的32位值。

在winnt.h中typedef long LONG

在windef.h中typedef LONG LRESULT

所以LRESULT就是长整型。之所以取名类LRESULT,是搜闭穗因为L即long;result表示结果,说明这个函数的返回值是某个结果。

CALLBACK是由用户设计却由windows系统呼叫的函数,统称为callback函数。某些API函数要求以callback作为你参数之一。

回调函数,这里也叫窗口函数,来世卜执行窗口的消息循环,在建立窗口类的时候,可以指明窗口函数地址。

看一下这个例子吧,我是这样理解的:

#include

"iostream.h"

#include

"windows.h"

typedef

void

(CALLBACK

*MyFun)(void)//回调函数定运洞散义

void

CALLBACK

callback()

//

回调函数

{

cout<<"****callback****\n"

}

void

Call_CallBack(MyFun

mycb)

{

cout<<"****Call_CallBack****\n"

mycb()

cout<<"__________________\n"

}

void

main()

{

Call_CallBack(callback)

}

//

其他人需要修改的话只要修改callback函数里的内容就行了,一般sdk封装后都会有回调,这样他人在调用sdk的时候就可以实现回调函数里的内颤悄容。

如果旁氏你需要理论的,网上搜回调函数,内容哈多随便看

callback函数定义回调函数答塌运就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,衫缓而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。

在计算机程序设计中,回调函数,或简称回调(Callback),是指通过函数参数传递到其它代码的,某一块可执行代码的引用。这清梁一设计允许了底层代码调用在高层定义的子程序:

例如:defmy_callback(input):print"functionmy_callbackwascalledwith%sinput"%(input,)defcaller(input,func):func(input)foriinrange(5):caller(i,my_callback)执行结果是:functionmy_callbackwascalledwith0inputfunctionmy_callbackwascalledwith1inputfunctionmy_callbackwascalledwith2inputfunctionmy_callbackwascalledwith3inputfunctionmy_callbackwascalledwith4input


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12307943.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存