动态库DLL回调函数实现

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

一、建立DLL

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

[cpp]  view plain  copy
  1. extern "C" __declspec(dllexportvoid __stdcall call(void (*CallBack)())  
  2. {  
  3.     CallBack();  
  4. }  

编译输出CallBackDLL.libCallBackDLL.dll

二、建立DLL调用Demo

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


[cpp]  view plain  copy
  1. #pragma comment(lib, "CallBackDLL.lib")  
  2.    
  3. void ShowMsg()  
  4. {  
  5.     printf("Show CallBack Info......\n");  
  6. }  
  7.    
  8. int main(int argc, char* argv[])  
  9. {  
  10.     call(ShowMsg);  
  11.    
  12.     return 0;  
  13. }  


CallBackDLL.libCallBackDLL.dll复制到当前工作目录下,

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

Show CallBack Info......


转:https://blog.csdn.net/xust_psy/article/details/53199016

猜你喜欢

转载自blog.csdn.net/eric_e/article/details/80345036
今日推荐