编译、链接学习笔记(五)动态链接

动态链接是什么动态链接是与静态链接相对的一种程序执行方式与模块组织的方式。说到动态链接,则需要和静态链接进行对比,才更好的解释动态链接。静态链接的缺点静态链接对于目标文件的组织是将所有应用到的的代码经过链接后,都合并成一个可执行文件。但这种将所有涉及到的代码都引用的方式存在很多的弊端。1. 磁盘空间占用过大因静态链接方式在链接阶段会将所有涉及到目标文件链接成一个单独的可执行文件。当一个经常用到的库被
摘要由CSDN通过智能技术生成

动态链接是什么

动态链接是与静态链接相对的一种程序执行方式与模块组织的方式。说到动态链接,则需要和静态链接进行对比,才更好的解释动态链接。

静态链接的缺点

静态链接对于目标文件的组织是将所有应用到的的代码经过链接后,都合并成一个可执行文件。但这种将所有涉及到的代码都引用的方式存在很多的弊端

1. 磁盘空间占用过大
因静态链接方式在链接阶段会将所有涉及到目标文件链接成一个单独的可执行文件。当一个经常用到的库被多个目标文件引用,当存在有很多个静态链接文件使用到这个库时,将极大的浪费磁盘空间。如A目标文件中的func 方法被成千上万个文件通过静态链接引用时,将造成非常大的浪费,实际上A文件存在一份便可以满足。

这里写图片描述

2. 内存占用过大
当一个可执行文件被加载多次成为多个进程时,实际上进程中的比如代码段的数据大部分内存都是可以共享的,但以可执行文件以静态链接运行时,在内存中都有多份副本,很大的一部分被浪费掉了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值