最近,Luna在用VS2008做导师的项目,使用MFC来写的。Luna之前也没有用过MFC,所以在这过程中肯定会有许多的坎坷,于是,便借优快云这个平台将一些问题贴上来,希望大侠看了可以指点一二,不甚感激!
今天在经历一番Baidu&Google后,解决了VS2008下的DLL的建立和调用。现在举例说明一二,轻拍砖~~
一、VS2008下DLL的建立
1、新建项目,选择MFC下的MFC DLL模版来建立。创建好的项目只包含一个App类和一个App全局变量。
2、在项目中添加对话框等资源及相应的新类,本例中我们添加一个对话框类及一个对话框资源。在这里我们简单的实现单击确定的按钮后显示“Hello,this is Luna!”对话框。
3、在Dll项目的App类中添加全局函数,并申明为导出函数(用_declspec(dllexport)语句)。这里注意一下,如果要导出的是基于MFC类的函数,则必须在其实现的第一行语句为一下宏语句:
AFX_MANAGE_STATE(AfxGetStaticModuleState());然后编译无错即可。
二、调用建立的DLL
1、重新建立一个基于对话框的MFC程序,在此程序中调用我们刚刚建立的DLL,这里我们设计点击确定按钮后弹出DLL的对话框。
2、将第一步中生成的.dll和.lib文件放进我们这个对话框程序文件夹中。
3、在VS2008中“工具->选项->项目和解决方案->VC++目录”的“显示一下内容的目录”中选中“库文件”,将lib文件的目录添入。
4、在“项目->XXX属性->配置属性->链接器->输入->附加依赖项”中添入所调用的库文件名DllDemon.lib。
5、在程序中将调用的dll导出函数声明为extern后便可调用。
调用结果如下~~~