1、静态库和动态库
库有两种:静态库和动态库。
所谓静态、动态是指链接。回顾一下,将一个程序编译成可执行程序的步骤:
链接: 把外部函数的代码(通常是后缀名为.lib和.a的文件),添加到可执行文件中。这就叫做连接(linking)。这种通过拷贝,将外部函数库添加到可执行文件的方式,叫做静态连接(static linking),还有动态连接(dynamic linking)
2、后缀
静态库:.lib .a
动态库:.so .dll
3、描述
静态库的特点:
①、使用静态库的时候,会将静态库的信息直接编译到可执行文件中
②、优点:当静态库被删除,对可执行文件没有影响
③、缺点:浪费内存空间。如果静态库被修改,可执行程序要重新编译
动态库的特点:
①、发布时需要将dll和exe放一起
②、同一个dll只能被一个exe使用,系统通过计数来判断是否被使用
参考:https://blog.csdn.net/junxuezheng/article/details/100557176