【C++】动/静态库扩展名以及优缺点

1 静态库

静态(函数)库 扩展名为(.a或.lib,.a是linux侧,.lib是windows侧),静态库在编译时,会直接整合到目标程序中,编译出来的文件会比较大。
优点 :编译出的可执行文件 可以独立运行,不再需要向外部要求读取函数库的内容。
缺点:从升级难易度来看没有优势,如果函数库更新,需要重新编译。

2 动态库

动态(函数)库 扩展名为(.so或.dll,.so是linux侧,.dll是windows侧),动态库在编译时,在程序里只有一个"指向"的位置,也就是说,当可执行文件需要使用到 函数库 中的内容时,程序才会去读取 函数库 来使用。
优点 :方便产品功能升级,只要替换对应动态库即可,不必重新编译整个可执行文件。
缺点:可执行文件无法单独运行。

相关推荐
H_-H14 分钟前
值返回与引用返回(c++)
开发语言·c++
XFF不秃头1 小时前
【力扣刷题笔记-在排序数组中查找元素的第一个和最后一个位置】
c++·笔记·算法·leetcode
爱装代码的小瓶子2 小时前
【c++进阶】在c++11之前的编译器的努力
开发语言·c++·vscode·visualstudio·编辑器·vim
蜗牛love天空2 小时前
vs的运行库区别,静态连接mt和动态链接md运行库
c++
超级大福宝2 小时前
C++ 中 unordered_map 的 at() 和 []
数据结构·c++
蜗牛love天空2 小时前
智能指针的值传递和引用传递
开发语言·c++
仰泳的熊猫2 小时前
1037 Magic Coupon
数据结构·c++·算法·pat考试
爱装代码的小瓶子2 小时前
【cpp进阶】c++11的新特性(概述版)
开发语言·c++
程序喵大人2 小时前
SQLITE问题整理
开发语言·数据库·c++·sqlite
天赐学c语言2 小时前
12.17 - 合并两个有序数组 && include<> 和 include““ 的区别
c++·算法·leecode