其他分享
首页 > 其他分享> > 01. 静态库

01. 静态库

作者:互联网

1.静态库

优点:1.链接器抽取需要的代码,不需要的代码不抽取,即使链接时加入了许多lib,只要没用到里面的函数,生成的文件中都不包含lib中的代码。如果不用lib,而是直接link *.obj,则会有多余代码(手工测试时exe大小一样,vs2019中重新生成后大小不同)。

    2.一个可执行程序包含了所有代码,部署方便。

 

缺点:1.维护性问题,修改bug要改源代码,所有用到静态库的要重新编译链接。

    2.每个程序中都有静态库中的代码,重复率高,硬盘空间占用多。

 

制作:控制台使用lib可制作静态库,如下所示,生成文件mod.lib

 

 

 

再链接,可生成exe文件

 

 

 

导出时,要用宏兼容C和C++:

 

#ifdef __cplusplus
extern "C" {
#endif // __cplusplus
    void fnStaticLib1();
    void fnStaticLib2();
#ifdef __cplusplus
}
#endif // __cplusplus 

 

也可以导出类,声明和实现要分开写。

 

用法:

#include "StaticLib1.h"
#pragma comment(lib,"StaticLib1.lib")//.lib后缀可以不加

  或者在vs的连接选项里手工添加

  

 

 

 

 

 

也可以导出类,声明和实现要分开写。

标签:__,01,lib,静态,cplusplus,链接,代码
来源: https://www.cnblogs.com/Nutshelln/p/13334916.html