程序员的自我修养(5)

这篇具有很好参考价值的文章主要介绍了程序员的自我修养(5)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

动态链接

1.为什么要动态链接
静态链接让不同的程序开发者与部门能够相对独立地开发和测试自己的程序模块,促进了开发效率,程序规模随之扩大。但是静态链接的缺点有开始出现,比如浪费内存和磁盘空间,模块更新困难,故需要动态链接。

占用内存大,假设一个程序内部保存printf,scanf,strlen等这样的公用库函数,还会有数量相当可观的其它库函数与辅助函数,那么假设我们的机器运行100个程序,那么就会有100重复的模块群被链接到程序中,而一个普通程序需要1M的C语音库函数静态链接,那么至少要100M。而一个操作系统运行成千上万的程序,那占用的内存极大。
还有就是程序一旦静态链接完成运行后,一旦有一个模块修改了后,那么就需要重新链接整个程序模块。更新困难。

故使用到了动态链接,就是将程序的模块相互分割,形成独立文件,不是将所有目标程序链接后形成程序,而是程序启动后才开始链接,把原本链接的过程从运行程序前移动到运行程序后。

2.动态链接与静态链接案例
假设有两个程序,p1,p2。p1程序需要用到p1.o与lib.o,p2程序需要用到p2.o与lib.o。
如果是静态链接,那么p1和p2运行前,就会独自分别链接p1.o与lib.o,p2.o与lib.o,很明显lib.o重复两份。
但是是静态链接,运行了p1,首先知道p1.o是主程序是需要的,这个p1.o依赖lib.o,故同时将p1.o与lib.o移至内存。那么运行p2程序,我会知道需要p2.o与lib.o,可lib.o已经加入内存,是存在副本的,我们可以直接使用这个副本,故节省了lib.o的空间。

3.动态链接与静态链接缺点
很明显动态链接比静态链接节省空间,方便更新程序,但会损伤5%以下的性能,因为每次运行都要进行链接。典型的时间换空间。-文章来源地址https://www.toymoban.com/news/detail-592922.html

到了这里,关于程序员的自我修养(5)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 〖程序员的自我修养 - 认知剖析篇⑤〗- 选择前端还是后端?

    人之所以会觉得迷茫,本质上是欠缺对自己的一个控制力、识别庞杂信息、去伪存真的独立思考与认知能力。 说明:该文属于 程序员的自我修养 专栏, 购买任意白宝书体系化专栏可加入 易编程社区, 早鸟价订阅模式除外 。 福利:加入社区的小伙伴们,除了可以获取博主

    2024年02月14日
    浏览(12)
  • 〖程序员的自我修养 - 认知剖析篇②〗- 学习编程之前你需要知道这些

    人之所以会觉得迷茫,本质上是欠缺对自己的一个控制力、识别庞杂信息、去伪存真的独立思考与认知能力。 说明:该文属于 程序员的自我修养 专栏, 购买任意白宝书体系化专栏可加入 易编程社区, 早鸟价订阅模式除外 。 福利:加入社区的小伙伴们,除了可以获取博主

    2024年02月12日
    浏览(10)
  • 〖程序员的自我修养 - 精炼面试篇⑨〗- 技术面试不用怕,也是有套路可利用的

    人之所以会觉得迷茫,本质上是欠缺对自己的一个控制力、识别庞杂信息、去伪存真的独立思考与认知能力。 说明:该文属于 程序员的自我修养 专栏, 购买任意白宝书体系化专栏可加入 易编程社区, 早鸟价订阅模式除外 。 福利:加入社区的小伙伴们,除了可以获取博主

    2024年02月15日
    浏览(12)
  • 〖程序员的自我修养 - 认知剖析篇④〗- 关于前端方向与后端方向的一些个人见解

    人之所以会觉得迷茫,本质上是欠缺对自己的一个控制力、识别庞杂信息、去伪存真的独立思考与认知能力。 说明:该文属于 程序员的自我修养 专栏, 购买任意白宝书体系化专栏可加入 易编程社区, 早鸟价订阅模式除外 。 福利:加入社区的小伙伴们,除了可以获取博主

    2024年02月14日
    浏览(13)
  • 测试/开发程序员有8大好处,自我实现和自我超越......

    测试/开发程序员有8大好处,自我实现和自我超越......

    测试/开发程序员有8大好处 很早前网络就关于程序员种种不好的标签,比如“不修边幅,生活邋遢“,“无趣呆板,不浪漫“,“加班多“,“不疼爱女朋友“,“情商低”等,通通都是瞎扯,除了加班多,其他跟程序员行一点关系都没有。 当测试/开发程序员好处多多 1、相

    2024年02月03日
    浏览(14)
  • 【C++程序员的自我修炼】拷贝构造函数

    【C++程序员的自我修炼】拷贝构造函数

    心存希冀 追光而遇目有繁星 沐光而行 目录 拷贝构造函数概念 拷贝构造的特征 无穷递归的解释 浅拷贝 总结:  深拷贝 拷贝构造函数典型调用场景 总结  契子 ✨ 在生活中总有很多琐事,不做不行做了又怕麻烦,有时候想要是有个和自己一模一样的人就好了 可以帮我上早读

    2024年04月14日
    浏览(12)
  • 《程序员的底层思维》读书笔记

    《程序员的底层思维》读书笔记

    维克多弗兰克《活出生命的意义》 我不止一次发现,当我觉得一个地方的命名有些别扭的时候,往往就意味着要么这个地方我没思考清楚,要么是我抽象错了。 提取重复代码只是重构工作的第一步,对重复代码进行概念抽象,寻找有意义的命名才是我们工作的重点。 任何软

    2024年02月05日
    浏览(11)
  • 测试1号位的自我修养

    作者:京东零售 吴聪 目前京东实行BigBoss机制以及积木型组织,同时现阶段再次强调了“经营”理念,以上均是比较大的组织层面的纲领和引导,核心是为了激发大家owner意识可以更好更快为公司产出价值和贡献。落到具体执行层面,与测试岗位息息相关的那便是“测试1号位

    2023年04月11日
    浏览(12)
  • 【项目经理】论项目经理的自我修养

    【项目经理】论项目经理的自我修养

    导言: 作为 项目经理 ,不仅需要具备扎实的专业知识和管理技能,更重要的是要不断提升自身的修养和领导能力。优秀的项目经理不仅懂得如何高效地组织和管理团队,还需要具备良好的沟通能力、自我管理能力以及思考和决策能力。本文将探讨项目经理的自我修养,帮助

    2024年02月03日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包