动态链接库和静态链接库 (Dynamic Library and Static Library)

本文详细介绍了动态库(.dll, .so, .dylib)和静态库(.lib, .a)的优缺点、生成及链接过程,分别阐述了Linux和Windows平台上的实现细节,强调了动态库节省内存和便于升级,静态库编译后的程序独立且代码精简的特点。" 136169008,9739460,H3C网络设备的OSPF+NAT+DHCP+PPP配置实战,"['网络配置', '路由协议', '网络服务', '网络安全', '网络管理']
摘要由CSDN通过智能技术生成

TOC

  • 动态库和静态库
  • 动态库的优势和劣势
  • 静态库的优势和劣势
  • Linux平台的静态库
    • 静态库的生成
    • 静态库的链接
  • Linux平台的动态库
    • 动态库的生成
    • 动态库的链接
  • Windows平台的静态库
    • 静态库的生成
    • 静态库的链接
  • Windows平台的动态库
    • 动态库的生成
    • 动态库的链接

动态库和静态库

  • 在Win下,动态库以.dll结尾,静态库以.lib结尾。
  • 在Linux下,动态库文件以.so结尾,静态库以.a结尾。
  • 在Mac下,动态库以.dylib结尾,静态库以.a结尾。

动态库的优势和劣势

  • 动态函数库在编译的时候并没有被编译进目标代码中,你的程序执行到相关函数时才调用该函数库里的相应函数,因此动态函数库所产生的可执行文件 比较小。由于函数库没有被整合进你的程序,而是程序运行时动态的申请并调用,所以程序的运行环境中必须提供相应的库。 动态函数库的改变并不影响你的程序,所以动态函数库的升级比较方便。
  • 某个程序在运行时要调用某个动态链接库函数的时候,OS首先查看所有正在运行的进程,找找看是否已经有人载入了这个库。如果有的话,直接用。 如果没有才会载入。这样的第一个优点就是节省内存空间。动态调入意味
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值