对于VS环境,有很多小伙伴都迷惑于工程的配置。
在开发过程中,不知道如何去生成一个静态库或动态库,如何去使用静态库和动态库。
本文在讲述配置静态库和动态库的同时,会在工程中体现如何使用静态库和动态库。
需要下载工程的小伙伴请读到最后,有惊喜等着你。
先说说动态库和静态库
1.动态库和静态库的区别
静态库
#. 将库文件中的二进制代码直接链接到目标文件,程序运行时不再需要库
#. lib 中的指令都全部被直接包含在最终生成的目标文件中了
#. 静态链接库中不能再包含其他的动态链接库或者静态库
动态库
#. 将接口在库文件中的位置信息链接到目标文件,程序运行时再根据这些位置信息进行调用,因此运行时需要库文件
#. dll不必被包含在最终目标文件中,目标文件执行时可以“动态”地引用和卸载dll文件
#. 动态链接库中还可以再包含其他的动态或静态链接库
2.动态库和静态库的优缺点
静态库
#. 只需要编译的时候需要,运行的时候不需要,比较方便发布
#. 对于每个使用它的进程拷贝一份副本,如果进程很多,则对运行空间的要求比较高
#. 不方便程序增量更新,如果lib更新了,则所有用到lib的目标文件都需要更新
动态库
#. 运行时需要将目标文件与库文件同时发布
#. 所有进程共享一份,但这样会有DLL Hell的风险
#. 只需要更新dll库本身
下面直接奔主题,配置搞起<