多语言展示
当前在线:1640今日阅读:152今日分享:13

VS2008MFC扩展动态库与调用示例

使用VS系列IDE开发客户端程序,经常会在不同项目中遇到相同的功能,可以考虑把功能独立出来,做为一个独立的功能模块,如封装成dll动态库。常见的功能模块如:串口通信、网口通信、文件处理、数据库操作、写运行日志等等,封装成MFX扩展动态库是最好的解决方案。优点:统一接口,优化程序性能,降低模块件的耦合性,提升工作效率。缺点:能想到的缺点可能是,不断优化/扩充功能,需考虑各版本动态库的维护问题。
工具/原料
1

VS2008

2

电脑、大脑、双手

一、创建MFC扩展动态库
1

1.启动VS2008创建新项目,选择MFC->MFC DLL输入名称,点击确定。

2

2.确定后,弹出项目属性向导,点击下一步:选择MFC扩展DLL

3

3.为项目添加导出类的声明头文件:在解决方案上,右键->添加->新建项  选择头文件

4

4.编写导出类声明#ifndef DLL_DEFINE_H  #define DLL_DEFINE_H      class AFX_CLASS_EXPORT CMfxDll  {  public:      CMfxDll();      void TestDlg();  private:      };  #endif

5

5.添加对话框资源:一个简单的求和对话框功能就是,点击计算按钮,计算操作数1+操作数2的和,并显示到界面上。

6

6.编写对话框 计算按钮响应函数:UpdateData(TRUE);  m_nSum = m_nA + m_nB;  UpdateData(FALSE);

7

7.编写扩展类实现代码:要include包含测试对话框的头文件。CMfxDll::CMfxDll()  {      }  void CMfxDll::TestDlg()  {      CDlgTest dlg;      dlg.DoModal();  }

8

8.编译编译完成后生成 MFC_DLL.lib、MFC_DLL.dll,加上DllDef.h头文件,一共3个有用文件。

二、测试DLL
1

1.创建项目,选择MFC基于对话框的项目

2

2. 将MFC_DLL.lib、MFC_DLL.dll、DllDef.h 3个文件复制到TEST_DLL项目工程目录下右键项目属性,连接器->输入->附加依赖库:  输入MFC_DLL.lib添加->添加已有文件, 选择DllDef.h文件,添加到TEST_DLL项目中。

3

3.验证DLL接口功能:在TEST_DLL主对话框上,添加一个按钮,双击按钮进入代码编辑在TEST_DLL CPP文件中,记得 #include 'DllDef.h' void CTEST_DLLDlg::OnBnClickedButton1(){CMfxDll dll;dll.TestDlg();}

4

执行结果如下图:

注意事项
1

要注意include头文件,链接是添加 lib文件的引用。

2

dll文件需要和调用的exe程序在同一目录下。

推荐信息