1.为什么要生成静态库?
有个人做程序,遇到一个功能,不想自己做,就想去买一个功能回来,找到了另一个人,另一个人刚好有这个程序,但他卖程序只想卖功能的使用权,不想把源码都卖出去,于是他就生成静态库,只卖给他静态库。
买程序的拿到静态库说了,你这静态库里边的东西我也看不懂(静态库为编译后的二进制文件),我怎么用这个功能呢?这时候卖程序的就把.h头文件也卖给他,在头文件里注释说明声明的函数功能,要传入的变量类型,返回值类型等,买文件的收到了头文件和静态库,只需要导入静态库和头文件,就可以调用需要的功能了。这也是为什么函数声明要放在头文件里的原因之一。
2. 如何生成静态库?
- 在需要生成静态库的项目中,右键单击项目名称,打开属性(举例为一个加法函数)
- 在属性中把配置类型改为静态库.lib,应用并确定
- 开始执行代码,或使用ctrl+F5快捷键
- 弹出此页面关掉即可
- 打开项目所在位置
- 在Debug文件夹里找到.lib文件,就是生成的静态库文件
3.如何导入静态库并调用函数?
- 将得到的.lib静态库文件和.h头文件粘贴到项目文件夹内,.lib头文件名和.h头文件名可能不同,.lib静态库文件名是项目名,.h头文件名是在项目内创建的。
- 在项目内添加.h头文件
- 在主函数上方导入头文件和静态库,头文件作用是声明函数,.lib则是定义函数,此时程序就可以正常运行了。
#include "add.h"//导入头文件
#pragma comment(lib, "add.lib")//导入静态库
- 头文件打开是这样的,实际上可以通过反编译程序将机器码变回算法代码。