# 库相关知识点 ## 一、静态库 - **1.静态库的基本概念** - 静态库是一种在程序编译链接阶段被整合进可执行文件中的库形式。 - **2.静态库的生成** - 1.创建一个空项目 静态库 - 2.添加一个.c和.h文件 ![静态库](./pictures/静态库2.png) - 3.将项目属性配置为.lib静态库 静态库 - 4.点击解决方案 ![静态库](./pictures/静态库3.png) - **3.静态库的调用** - 在工程配置中调用 静态库的使用 静态库的使用 - 在代码中语句加载lib调用 静态库的使用 ## 二、动态库 - **1.动态库的基本概念** - 动态库是一种在程序运行时加载的库文件。 - **2.动态库的生成** - 通过导出语句生成 (1)新建一个空白模板,并添加源文件和对应的.h文件。 ​ ![动态库的生成](./pictures/动态库的生成.png) (2)在.h文件中加入导出语句 ​ 动态库的生成 (3)设置预处理定义 ​ 动态库的生成 (4)设置配置类型 ​ 动态库的生成 - 通过模块文件生成 (1)设置配置类型 动态库的生成 (2)在源文件中添加并编写.def文件,最后生成解决方案 def文件生成动态库 - **3.动态库的调用** - 在工程配置中调用 (1)设置头文件目录 ​ 动态库工程配置 (2)设置库文件目录 ​ 动态库工程配置 (3)在链接器中添加导入库lib ​ 动态库工程配置 (4)添加DLL库到当前工作目录下 ​ 动态库工程配置 (5)在程序中添加对应的库并调用即可 - 在代码中语句加载lib调用 #pragma comment (lib,地址),地址可以选择绝对地址或者相对地址。 动态库代码调用 - 在代码中语句加载dll调用 ​ 使用 Windows API 提供的 `LoadLibrary` 和 `GetProcAddress` 函数来实现。 ​ 动态库代码调用