库是代码文件编译的最后一步链接的重要组成,库文件又分动态库和静态库
库是一套方法和数据集,为我们开发提供最基本的保证(基本接口,功能,加速我们的二次开发) 1.动态库linux(.so),windows(.dll) 2.静态库linux(.a),windows(.lib)例如下面是c++简单代码所依赖的库

动态库:里面保存的是内部的方法实现
静态库:多个目标文件打包成一个文件
动态链接实质:将代码中调用库函数的片段用库中具体函数的地址代替

如上图:cout函数为iostream库中函数,链接时就会将cout转换为库中代码实现的地址
静态链接:但是静态链接时就会将库中代码拷贝进来,空间效率及其大

由图可见,上面的大小是下面的几百倍
动静态库对比:
1.动静态库形成的可执行程序体积一定很小
2.可执行程序对静态库的依赖小,动态库不能缺失
3.程序运行,需要加载到内存,静态链接,会在内存中大量出现的代码
4.动态链接比较节省内存和磁盘资源
ldd code:查看可执行文件支持的库


c++动态库的静态库对比
静态库的开销比动态库大的多
动态库的本质是把语言公共的代码在内存中,未来只出现一份
上午的更新就到这里,如有错误欢迎评论区指出!!
评论
氛围绝佳。谢谢 真诚。 丹尼索瓦洞穴 美好的 旅游内容! 这是出色的工作。