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

1 静态库

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

2 动态库

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

相关推荐
星河耀银海1 分钟前
C++ 运算符重载:自定义类型的运算扩展
android·java·c++
feng_blog668817 分钟前
C++线程池|解决死锁、崩溃、丢任务所有痛点
java·开发语言·c++
yuanyuan2o23 小时前
从最小项目开始的 CMake 教程
c语言·开发语言·arm开发·c++·makefile·make·cmake
xh didida4 小时前
算法 -- 位运算
开发语言·c++·算法
hele_two4 小时前
VS Code + CMake 调用 SDL2 & SDL2_image 完整编译教程(Windows 平台)
c++·windows·vscode·图形渲染
量子炒饭大师5 小时前
【优化算法】双指针算法的「义体化」重构 ——【双指针】双指针算法中的指针是如何定义的?如何使用它进行一些简单的算法?
c++·算法·重构·优化算法·双指针
小辉同志5 小时前
62. 不同路径
c++·力扣·多维动态规划
arron88995 小时前
DebugView未打印日志原因
c++
hele_two5 小时前
SDL2高效画实心圆的算法(一)
c++·算法·图形渲染
AbandonForce7 小时前
哈希表(HashTable,散列表)个人理解
开发语言·数据结构·c++·散列表