首页 > 其他 > 详细

01. 静态库

时间:2020-07-18 14:09:03      阅读:42      评论:0      收藏:0      [点我收藏+]

1.静态库

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

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

 

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

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

 

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

技术分享图片

 

 

 

再链接,可生成exe文件

技术分享图片

 

 

 

导出时,要用宏兼容CC++

 

#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. 静态库

原文:https://www.cnblogs.com/Nutshelln/p/13334916.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!