静态dll和动态dll(创建、区别、调用方式)
来源:互联网 发布:新电脑必备软件 编辑:程序博客网 时间:2024/05/16 08:27
1.创建dll
(1)创建mfc的*.dll项目,直接在*.h文件下写全局函数
int GetnSize(int n);
(2)在*.cpp中写
int GetnSize(int n)
{
return n + 1;
}
(3)*.def中写
EXPORTS
GetnSize
2.两者的区别
静态dll使用方便,针对性强、静态调用、不可以动态、共享使用。直接链接到exe文件
动态dll可以动态、共享使用,有利于多个程序共同使用,节约资源。不链接到exe文件,只建立一个接口
3.调用方式
(1)静态调用方式(两步)
第一步:加载*.lib。 有两种方式,直接使用#pragma comment(lib, "*.lib")
或者
“属性-链接器-输入-附加依赖项”填写*.lib
第二步:在调用的cpp文件中#include "*.h"
(2)动态调用方式
假设函数的声明为:int GetnSize(int n);
//函数指针声明
typedef int (WINAPI MESSAGE)(int n);
MESSAGE *pMessage = 0;
//加载*.dll
HINSTANCE hDLLDrv = LoadLibrary("*.dll");
//获取message函数的指针
if(hDLLDrv)
{
pMessage = (MESSAGE *)GetProcAddress(hDLLDrv, "GetnSize");
}
然后就可以这样调用函数了:
int nSize = pMessage(1);
- 静态dll和动态dll(创建、区别、调用方式)
- VS 2015 DLL的创建、静态调用和动态调用
- 动态和静态调用DLL
- DLL静态和动态调用
- dll动态调用和静态调用有什么区别
- VS2010中创建DLL和(静态)调用DLL
- VS2010中创建DLL和(静态)调用DLL
- VS2010中创建DLL和(动态)调用DLL
- dll 调用,动态,静态
- C++ 加载dll 及调用lib 和 dll的 方法 和 动态库DLL与静态库lib的区别
- [DLL]创建和静态使用动态链接库dll
- 动态调用、静态调用dll
- C#静态调用C++ dll,动态调用C++ dll和C++调用C# dll
- [DLL]DLL概述和动态调用DLL
- vc 调用dll 静态调用和动态调用.
- 在vs中用C++编程的方式生成.dll文件和以动态、静态调用dll中函数
- Delphi DLL的创建、静态 以及动态调用
- dll创建和调用
- Java获得系统时间错乱的问题
- Zlib函数列表和使用手册
- 替换数组中最小数字
- 动态规划经典问题---最长公共子序列(LCS)
- 空指针2
- 静态dll和动态dll(创建、区别、调用方式)
- 什么是P问题、NP问题和NPC问题【Matrix67】
- C++运算符重载转换运算符
- 分组 连接的查询把我给弄昏了
- Windows7操作记录_操作时间记录_启动时间记录_日志查看
- GPS模块编程之NMEA0183协议
- 哈弗曼 树 实现 文件压缩 代码
- XDR的相关介绍
- 自定义visual studio 安装类