MFC使用动态库dll
来源:互联网 发布:泛鹏天地知乎 编辑:程序博客网 时间:2024/06/05 05:38
一、隐式链接
先把dll文件和lib文件和.h文件放到工程目录下,具体设置方式有两种:
1、vc6.0中:可以直接在工程->设置->连接的Object/Moduls栏中填入lib文件名,如mydll.lib;
vs中:在属性的linker---input---附加依赖项中写入此lib文件名)。
多个文件直接用空格隔开,在应用的文件的头文件处,(或者在stdafx.h中添加.h文件,如#include “mydll.h”)。
2、也可以通过添加代码的方式:
# pragma comment(lib, "mydll.lib")
#include “mydll.h”
另:
2. 添加库(libs)文件目录
3. 添加包含(include)文件目录
4. 导入库(import)
二、显示链接
显式链接是应用程序在执行过程中随时可以加载DLL文件,也可以随时卸载DLL文件,这是隐式链接所无法作到的,所以显式链接具有更好的灵活性,对于解释性语言更为合适。不过实现显式链接要麻烦一些。在应用程序中用LoadLibrary或MFC提供的AfxLoadLibrary显式的将自己所做的动态链接库调进来,动态链接库的文件名即是上述两个函数的参数,此后再用GetProcAddress()获取想要引入的函数。自此,你就可以象使用如同在应用程序自定义的函数一样来调用此引入函数了。在应用程序退出之前,应该用FreeLibrary或MFC提供的AfxFreeLibrary释放动态链接库。
调用dll
采用如下代码调用dll
typedef void (*lpFun)(void);
HINSTANCE hDll;
hDll=LoadLibrary(L"XX.dll");
if(NULL==hDll)
{
MessageBox(L"加载失败");
}
lpFun addFun;
lpFun pShowDlg=(lpFun)GetProcAddress(hDll,"ShowDlg");//dll 中函数ShowDlg();
if(pShowDlg==NULL)
{
MessageBox(L"加载失败");
}
pShowDlg();
CloseHandle(hDll);
其中XX.dll为dll的名称
3、dll中接口函数:
在头文件处增加声明:
extern "C" __declspec(dllexport) bool isJk();
- MFC使用动态库dll
- MFC如何使用动态连接库DLL
- WPF中使用MFC动态链接库(dll)函数
- MFC扩展动态连接库(dll)版本
- DLL动态库中调用MFC资源
- MFC的动态连接库DLL
- C++/MFC-动态链接库(DLL)
- dll动态链接库(4)---MFC规则DLL
- C++动态链接库DLL-非MFC动态库
- 动态链接库(dll) 使用
- qt使用动态库(DLL)
- qt使用动态库(DLL)
- qt使用动态库(DLL)
- qt使用动态库(DLL)
- qt使用动态库(DLL)
- MFC DLL资源动态切换
- MFC DLL资源动态切换
- MFC DLL资源动态切换
- hdu - 4343 - Interval query - dp(贪心)
- 简单FTP(vsftp)架设
- 苹果默认字体
- 1000以内所有偶数和!
- androidx线程详解
- MFC使用动态库dll
- KGDB调试内核
- 为什么很多看起来不是很复杂的网站需要大量顶尖高手来开发
- winform 简易爬网页
- 莫西的伤感情侣日志推荐:分手的那一刻,我们变得陌生
- memset学习小结
- java基础复习--5
- CATransform3D解释
- java 单例模式