在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();
- }
编译输出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;
- }
把CallBackDLL.lib和CallBackDLL.dll复制到当前工作目录下,
编译、执行输出如下内容:
Show CallBack Info......
转:https://blog.csdn.net/xust_psy/article/details/53199016