如何创建 动态链接库 ---MFC扩展库

MFC扩展DLL创建教程
本文介绍如何使用Microsoft Visual Studio 2010创建MFC扩展动态链接库(DLL)。通过具体步骤演示如何创建、封装类,并在其他项目中轻松使用这些类,无需繁琐的函数地址导入。

动态链接库 MFC扩展库

有时候我们会导入动态库的时候,总是导入一个完整的类,又不想和其他动态库一样,显示链接或隐式链接,需要导入函数地址感觉太麻烦,MFC中可以这样创建扩展dll完美解决问题,微软的VS 会为我们简单的操作就可以了,步骤如下

  1. 先打开 VS2010 选择创建新项目,选择MFC连接库dll

在这里插入图片描述

  1. 填写项目名称和路径,确定之后,选择MFC扩展DLL

在这里插入图片描述
3. 打开新创建的项目后,自己创建需要封装的类,也可以把自己做好的类导入项目。

在这里插入图片描述

  1. 在封装的类的头文件中,类的声明处加上 AFX_EXT_CLASS,编译后又lib , dll 等文件
    在这里插入图片描述
    在这里插入图片描述

  2. 使用dll ,在其他项目中只需要这个头文件,导入lib 文件。并在测试项目中的执行目录中加入dll
    在这里插入图片描述
    在这里插入图片描述

  3. 在测试项目中使用dll 示例

在这里插入图片描述


void CTestdlgDlg::OnBnClickedButtonSet()
{
	UpdateData();	   int nIndex = -1;

	CString strText = m_strValue;	 CUIntArray Intarray;

	while(true)
	{
	   	nIndex = strText.Find(_T(","));

		if(nIndex == -1)
		{
			Intarray.Add(_tstoi(strText));
			break;
		}

		CString str = strText.Left(nIndex);
		Intarray.Add(_tstoi(str));
		strText = strText.Mid(nIndex+1);
	}

	int* pArry = new int[Intarray.GetCount()];

	for(int i=0;i<Intarray.GetCount();i++)
	{
	   pArry[i] = Intarray.GetAt(i);
	}

	m_sort.QuickSort(pArry,Intarray.GetCount());

	m_strShow = _T("排序后的数组是:");

	for(int i=0;i<Intarray.GetCount();i++)
	{
		CString str;

		str.Format(_T("%d,"),pArry[i]);

		m_strShow+=str;
	}

	delete pArry;

	pArry = NULL;

	UpdateData(FALSE);
}

效果图

在这里插入图片描述

注意:

  1. 编译环境,如果是Debug x86 则 其他项目或测试项目也要与dll的一致,尤其是使用 Unicode 字符集还是多字节的,一定要保持一致。
  2. 参数类型如果是字符串CString的,最好是改LPCTR,因为C++在编译的时候函数会改名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吾心流云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值