永发信息网

静态链接与动态链接在链接过程和文件结构上的区别

答案:1  悬赏:70  手机版
解决时间 2021-05-04 22:05
静态链接与动态链接在链接过程和文件结构上的区别
最佳答案
动态链接库和静态链接库一般是编译集成一系列的接口(函数)
在程序源代码编译完成后通过编译器编译并通过链接器与这些库进行链接
动态链接库与静态链接库的区别在于链接器在进行链接时静态库会被直接编译进程序里
而动态链接库并不会,我们这里将这些链接库称作依赖(动态库和静态库)
程序的运行需要这些依赖,程序在静态链接后该程序本身便已包含该依赖
而动态链接后的程序本身本不包含该依赖,这些依赖需要执行者自行安装进操作系统(动态库、运行时库)
程序运行时会动态地加载这些库

linux上动态库一般的后缀后为.so
静态库一般的后缀为.a
由于静态链接会直接将库编译进程序里所以静态编译后的程序相较于动态链接所要大
这就是因为静态链接会将链接库编译进程序里的原因,所以占用就要大了
出于这种原因,静态库不易于维护与更新,如果链接库中有实现有bug等需要更新则需要更新整个程序,因为静态库被编译进程序中了
但动态库就没有这种情况了,因为动态库是程序运行时动态加载的,所以我们只需要更新动态库而不需要更新所有依赖该库的程序(软件)

另一方面,很多程序的开发都会使用到相同的链接库,也就是很多程序(软件)会有相同的依赖
如果将这些依赖全部静态编译的话将会造成存储资源占用过多而造成资源浪费
而使用动态库的方式这些程序(软件)则可以共享一个链接库,而不需要每个程序都带一个链接库,这样就大大地减少了存储资源占用空间
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
AVA11月3号不删档内测是不是全部可以玩了
为什么WOW里面捡东西的时候物品框跟着鼠标左
怎样才能彻底忘却他?
什么东西恒久不变质?
朝阳金冠轮胎这个地址在什么地方,我要处理点
麻烦大家给整个PS图…
多余的解释这个歌谁唱的
黑钻一个月需要几个QB
老虎屁股为什么摸不得?
黄体酮胶丸可以促排卵吗?
小学三年级操行评语,撰写操行评语的基本原则
男人背叛女人,魔鬼让女人许三个愿望惩罚男人
如果你愿意,十年后我嫁给你,我等你,亲爱的
麦蒂,艾弗森,奥尼尔全到绿衫军如何?
杰迷请进,你们谁知道JAY最新专集的一些具体
推荐资讯
贵州财经学院2010通知书什么时候下发?
突然很怕死亡
玉器包浆是怎么形成得
高中生物选修3的全部知识点谁有啊???越详细.
Sisters喜歡什麼類型的男生?
(愿你今夜别离去)这首歌是那一部电视剧的主题
士非教不得征 什么意思
清新石坎小学我想知道这个在什么地方
那个BB霜是不是真有吹的那么好用啊?
长岛无限极专卖店地址
可以送个激活码么
梦幻西游怎么查询自己的密保卡是否超过7天?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?