VS下生成与配置静态库
学习来自:https://blog.csdn.net/luyan_abaci/article/details/48014807
静态库:(*.lib):将*.cpp文件中的函数的地址和定义,以及函数之间的链接关系通通打包,生成的一个二进制文件;
动态库(*.lib+*.dll): 动态库的*.lib文件,打包的只是*.cpp文件中函数的地址和链接,函数的具体定义打包在*.dll文件中。
联系:
1.二者都不包含函数的声明部分,因此调用这两种库的时候,都需要包含相应的头文件(*.h);
2.静态库和动态库的*.lib文件,在生成可执行文件(*.exe)的时候,都将被打包进*.exe文件中;
区别:
1.静态库的*.lib文件远大于动态库的*.lib文件;
2.动态库的*.dll文件作为可执行文件*.exe的附加文件加入到程序中,一般放在*.exe的同级目录下。
如何生成
1.静态库
sub.h
#ifndef _SUB_H #define _SUB_H void sub(int a, int b); #endif
sub.cpp
#include "sub.h" #include <iostream> void sub(int a, int b) { std::cout << (a - b) << std::endl; }
选择项目>属性>这边有个lib
生成就会有个.lib了
如何使用:
1.属性 配置属性 C/C++ 常规 附加包含目录.h
2.属性 配置属性 链接器 常规 附加库目录.lib
3.属性 配置属性 链接器 输入 附加依赖项 里面要写一个sub.lib
4.要使用的程序加上#include<sub.h>
5.调用相关函数
结果: