工控编程吧
标题:
248上位机VC MFC导出动态库自定义封装类
[打印本页]
作者:
qq263946146
时间:
2016-3-4 21:16
标题:
248上位机VC MFC导出动态库自定义封装类
(, 下载次数: 2)
上传
点击文件名下载附件
248上位机VC MFC导出动态库自定义封装类
功能展示
在使用第三方产品时,比如使用固高公司的运动卡就得使用第三方的动态库文件,会发现动态库文件提供完整的类供用户使用,我们当前例程也建立一动态库工程,在内建立自己的功能类,然后再将整个类全部导出供用户使用,效果如图,图为新建工程对动态库导出类的使用,点击调用动态库函数,可调用动态库对外类的成员函数;
要点提示
类的定义一般形式为class CMath动态库里类如需导出改形式为class__declspec(dllexport)Cmath,导出的类成员函数及变量遵循一般类的规则;
实现功能
1.新建基于WIN32的空动态链接库工程;
2.新建一头文件ExportClassDll,添加一新类class __declspec(dllexport)Cmath{}
再添加三个类型的成员函数
class __declspec(dllexport)CMath
{
private:
int Add(int a,intb);
protected:
int Subtract(inta,int b);
public:
int Multiply(inta,int b);
};
3.新一源文件ExportClassDll,实现前面新建类的三个成员函数
#include "ExportClassDll.h"
int CMath::Add(int a,int b)
{
return a+b;
}
int CMath::Subtract(int a,int b)
{
return a-b;
}
int CMath::Multiply(int a,int b)
{
return a*b;
}
复制代码
4,新建一基于对话框的工程,用于调用动态库的导出类,新动态库工程根目录三文件ExportClassDll.hExportClassDll.lib.ExportClassDll.dll复制到对话框工程根目录
5.包含进动态库的头文件与库文件
#include"ExportClassDll.h"
#pragma comment(lib,"ExportClassDll.lib")
5.拖拽一编辑框ID为IDC_EDIT,一按钮关联函数测试动态库导出类的成员 函数
void CGkbc8Dlg::OnButton1()
{
CString sText;
// sText.Format("%d",m_Math.Add(1,2));//不能访问私有
// sText.Format("%d",m_Math.Subtract(10,5));//不能访问保护
sText.Format("%d",m_Math.Multiply(5,5));
SetDlgItemText(IDC_EDIT1,sText);
}
复制代码
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/5d94e4381681e1e5a81e3326a271a1e0/0/516/w_19rt0311m9.swf-albumId=5429614109-tvId=5429614109-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4