C++中的回调函数函数怎么用?

1.C++中的回调函数函数怎么用?2.(HANDLE)_beginthreadex(NULL,0,wrkFun,NULL,0,&threadID1);wrkFun这个算是... 1.C++中的回调函数函数怎么用?
2. (HANDLE)_beginthreadex(NULL, 0, wrkFun, NULL, 0, &threadID1);
wrkFun这个算是回调吗?启动线程的方法和一般的饿回调有什么区别呢?

我理解:回调和一般的函数的区别就是他的调用是有时机的,例如,线程创建完毕,或是IOCP中,send或是recv完成完毕,我的理解对吗?
展开
 我来答
陈宗权8d804
2011-01-20 · TA获得超过3766个赞
知道小有建树答主
回答量:1159
采纳率:0%
帮助的人:963万
展开全部
你的理解是对的。
回调函数类似一个电话号码,你去一个地方登记的时候你把电话号码登记上去了,并不是要求对方当时就打你的电话,而是让对方在需要的时候打你的电话。

线程的函数也是回调函数,碰巧的是,创建线程的时候往往也是需要调用这个函数的时候(之所以用“往往”是因为创建了线程你完全可以先SUSPEND而不执行),所以当时就调用了。
tattackor
2015-10-22 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:892万
展开全部
1、回调类似于事件相应。当系统在某个事情发生的时候会调用你指定的方法。这个方法先定义好,并等待系统来调用。比如Hook(系统钩子)就是给窗口设置一个函数地址,然后系统会自动的调用你的函数。这就是回调了。

2、将一个自定义函数的指针作为参数传递给一个API函数,供其调用。这样的自定义函数,称为回调函数。调用回调函数的过程,称为回调。值得注意的是,仅API函数能实施回调。常用于回调的API函数如:SetWindowLong(),EnumWindows().
回调函数实际上是C语言中由用户特殊定义的外部函数,只不过函数的结构有些特殊规定。他的功能是用来响应对应的事件。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
whdbsa
2011-01-21 · TA获得超过828个赞
知道小有建树答主
回答量:687
采纳率:0%
帮助的人:544万
展开全部
#include <stdafx.h>
#include <windows.h>
#include <tchar.h>
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
TCHAR szText[1024] = _T("");

// 获得窗口标题
GetWindowText(hwnd, szText, sizeof(szText) / sizeof(TCHAR));

// 比较窗口标题
if (lstrcmpi(szText, (LPCTSTR)lParam) == 0)
{
MessageBox(NULL, _T("找到了计算器窗口"), _T("提示"), MB_ICONINFORMATION);
// 停止枚举窗口
return FALSE;
}
// 继续枚举窗口
return TRUE;
}

void main()
{
// 查找计算器窗口
EnumWindows(EnumWindowsProc, (LPARAM)_T("计算器"));
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a9ca369
2011-01-20 · TA获得超过143个赞
知道小有建树答主
回答量:200
采纳率:0%
帮助的人:168万
展开全部
就是在执行beginthreadex的过程中会调用wrkFun函数,或者beginthreadex会记录下wrkFun这个指针所指的地址,在适当的时候调用这个函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
郑启道
2011-01-21 · TA获得超过322个赞
知道小有建树答主
回答量:265
采纳率:0%
帮助的人:308万
展开全部
fivecat314说得不错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式