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

1 静态库

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

2 动态库

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

相关推荐
Felven2 分钟前
C2. Potions (Hard Version)
c++
Tyler_TXZ43 分钟前
C++C语言之——树
c语言·c++·算法·
旖旎夜光1 小时前
LeetCode 30:串联所有单词的子串(滑动窗口) —— 题解
数据结构·c++·算法·leetcode·滑动窗口
星恒随风1 小时前
C++ 红黑树封装(二):迭代器、const_iterator 与 operator[] 完整实现 mymap 和 myset
开发语言·c++·状态模式
小小龙学IT1 小时前
oneTBB 开源并行编程库深度解析:从工作窃取调度器到 flow graph 实战
c++·开源
ShineWinsu2 小时前
对于C++:缓冲区管理的详细解析
linux·c++·面试·编程·笔试·io·缓冲区
h_a_o777oah3 小时前
【算法基础】卡特兰数:递推定义与折线对称公式推导及解题策略
c++·算法·acm·组合数学·卡特兰数·反射原理·动态规划dp
帅气的小峰3 小时前
pybind11与nanobind可以共存吗?如何迁移?
c++·python·cuda·推理引擎
syker3 小时前
SuperNova Compiler v4.2.9 完整开发手册
c++
zhy295633 小时前
在 QAIRT Genie SDK 上部署 Llama 3.2 1B 模型:从环境准备到 C++ 推理
开发语言·c++·llama