4.1 静态库
- 创建
- 工程属性配置中设置为lib静态库,编辑.h文件和.c文件,生成即可。
- 使用
- 方法一:
- 添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。
- 添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。
- 然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项:加上lib文件名。
- 方法二:
- #pragma comment(lib,"./mylib.lib")
- 方法三:
- 像添加 .h 和 .c 文件一样,把lib文件添加到工程文件列表中去。
- 切换到”解决方案视图“,--->选中要添加lib的工程-->点击右键-->"添加"-->"现有项"-->选择lib文件-->确定。
- 方法一:
4.2 动态库
-
创建
-
工程属性配置中设置为dll静态库,编辑 .h 文件和 .c 文件;
头文件中声明为__declspec(dllexport) 函数声明;
例:__declspec(dllexport) int MyNum(int a, int b)
-
-
使用
-
方法一:
#pragma comment(lib,"./mydll.lib")
-
方法二:
HANDLE hDll;
hDll = LoadLibrary("mydll.dll");
-
4.3 优缺点
- 静态库优缺点:
- 静态库对函数库的链接是放在编译时期完成的,静态库在程序的链接阶段被复制到了程序中,和程序运行的时候没有关系;
- 程序在运行时与函数库再无瓜葛,移植方便。
- 浪费空间和资源,所有相关的目标文件与牵涉到的函数库被链接合成一个可执行文件。