分享

在VC的MFC下建立并调用DLL范例

 星光闪亮图书馆 2017-10-16
用VC的MFC创建两个DLL和一个EXE,该如何在EXE中调用DLL中的函数?或者在一个DLL中调用另外一个DLL中的函数?


VC建立DLL并调用它的一个方法
DLL可以让一个项目中不同编程语言共享代码


用VC 的 AppWizard生成了一个mfcappwizard(dll),想连入vc的程序中去。


一、用AppWizard生成了一个dll,(是MFC Appwizard(dll)),命名为MyDll
   1、在MyDll.cpp中添加函数://系统是把他作为全局的函数好像
   void DllTest(void)
   {
      AfxMessageBox("this is a dll function");
     }

   2、在MyDll.def中添加
     DllTest      @1

二、建立基于对话框的一个应用程序UseDll,添加一个按钮,

    1、在UserDllDlg.cpp中定义变量如下:

    HINSTANCE dll_handle=NULL;
    typedef void (*DLLTEST)(void);
    DLLTEST DllTest;//这两个变量是作为全局变量定义在类的外部

    2、在OnButton()中添加代码:想显示链接dll并调用DllTest()函数,添加的代码如下:

     Dll_handle=LoadLibrary("...\...\...\Mydll.dll");//dll文件的路径
     if(Dll_handle==NULL)
       {
         AfxMessageBox("dll has not be loaded !");
         return;
         }
     DllTest=(DLLTEST)GetProcAddress(Dll_handle,"DllTest");
      if(DllTest==NULL)
       {
         AfxMessageBox("dll function has not be loaded !");
         return;
         }
     AfxMessageBox("begin to  use function");
     DllTest();
     AfxMessageBox("end of use function");
     FreeLibrary(Dll_handle);

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多