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

1 静态库

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

2 动态库

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

相关推荐
郝学胜_神的一滴16 小时前
CMake 018:解决头文件编译失效\&VS项目无法展示头文件难题
c++·cmake
影视飓风TIM16 小时前
C++ 核心语法进阶:【类和对象终章】从对象拷贝到友元与优化(补上期重载)
c++
小鹏linux16 小时前
鸿蒙PC迁移:Tesseract OCR C++ 三方库鸿蒙适配全记录
c++·ocr·harmonyos
森G16 小时前
65、UDP协议(拓展选学)---------网络编程
网络·c++·qt·网络协议·tcp/ip·udp
WWW652616 小时前
代码随想录 打卡第五十八天
开发语言·c++·算法
少司府16 小时前
C++基础入门:_stack_queue 底层奥秘
开发语言·数据结构·c++·栈和队列·queue·stack
码上有光17 小时前
c++: AVL树
开发语言·c++·avl树
进击的荆棘17 小时前
优选算法——优先级队列
数据结构·c++·算法·leetcode·优先级队列
Cx330❀17 小时前
【MySQL基础】详解MySQL数据类型:底层原理、越界测试与最佳实践
linux·开发语言·数据库·c++·mysql
星恒随风17 小时前
C++ string 入门(一)
开发语言·c++·笔记·学习