Dll的制做:
Non-MFC的DLL:
在头文件里定义函数名:
Extern “C” _declspec(dllexport)int max(int a, int b);
然后在实现文件里写函数的实现:
#include “head.h”
Int max(int a, int b)
{
If (a > b) retnru a;
Else return b;
}
编译生成一个.dll和.lib文件
使用Dll文件
有两种方法:
1. 隐式的调用:
新建一个工程:
在头文件里连接.lib文件:
#pragma
comment
(
lib
,"XiaoFenExDll7.20.lib")
extern
"C"
_declspec
(
dllimport
)
int
Max
(
int
a
,
int
b
);
在实现文件里导入头文件就可以直接使用
:
int
a
=
9
,
b
=
3
;
int
c
=
Max
(
a
,
b
);
printf
("%d",
c
);
2. 显式调用
显示调用不用在头文件里连接
.lib文件,它是通过获得函数地址来连接Dll文件:
#include
“
windows.h
”
Int main()
{
int
A
;
typedef
int
(*
pMax
)(
int
a
,
int
b
);
HINSTANCE hDLL
;
pMax Max
;
//
加载动态链接库MyDll.dll文件;
hDLL
=
LoadLibrary
(
_T
("XiaoFenExDll7.20.dll"));
Max
=(
pMax
)
GetProcAddress
(
hDLL
,"Max");
A
=
Max
(
5
,
8
);
printf
("
比较的结果为%d/n",
A
);
FreeLibrary
(
hDLL
);
//
卸载MyDll.dll文件;
}