动态库DLL回调函数实现示例

在DLL开发中,对涉及到具体的业务时,我们通常希望上层应用程序来处理,此时,使用回调函数可解决该需求。下面基于VC++ 6.0来实现DLL回调函数的使用例子。

一、建立DLL

新建一个“Win32 Dynamic=Link Library”空项目,分别添加CallBackAPI.h和CallBackAPI.cpp文件到Header Files和Source Files中,添加导出函数:

 

 

extern "C" __declspec(dllexport) void __stdcall call(void (*CallBack)())
{
	CallBack();
}	CallBack();
}

 

 

编译输出CallBackDLL.lib和CallBackDLL.dll。

 

二、建立DLL调用Demo

新建一个“Win32 Consose Application”项目,隐式调用CallBackDLL.dll,实现如下:

 

#pragma comment(lib, "CallBackDLL.lib")
 
void ShowMsg()
{
	printf("Show CallBack Info......\n");
}
 
int main(int argc, char* argv[])
{
	call(ShowMsg);
 
	return 0;
}	printf("Show CallBack Info......\n");
}
 
int main(int argc, char* argv[])
{
	call(ShowMsg);
 
	return 0;
}

 

 

把CallBackDLL.lib和CallBackDLL.dll复制到当前工作目录下,

编译、执行输出如下内容:

Show CallBack Info......

 

 具体例子见资源:动态库回调函数实现示例

 

 

OVER

你可能感兴趣的:(Windows技术,问题分析经验)