zoukankan      html  css  js  c++  java
  • 2021/6/7

    《程序员的自我修养》读书笔记

         程序设计的模块化一直是程序员在工作过程中所追求的目标,因为当一个程序包含多种功能时,一整段程序会使整个程序变得十分难懂而且无法维护,这时就需要我们把要实现的功能模块化,将复杂的系统逐步分割成小的系统以达到逐个击破的目的。在一个软件的编写过程中也是一样,每名开发人员各自负责编写一部分模块化的功能,最后再拼装在一起,这样会大大提高效率并且可以降低错误率,所以人们把每个源代码模块独立地编辑,然后组装起来,这个过程就是链接,把各个模块相互引用的部分处理好,使得各个部分都互不干扰又可以相互联系。链接过程包括了地址和空间分配,符号决议,重定位等步骤。在链接过程中每个模块的源代码文件经过编译器变异成目标文件,以.o为扩展名,目的文件和库文件一起链接成最终的可执行文件,最常用的库runtime library,它是支持程序运行的基本函数集合。在链接过程中,对其他定义的目的文件中函数调用的指令需要被重新调整,对使用其他定义在其他文件的变量来说也有同样的问题,所以链接过程就给这些变量名进行调整和区分,等待连接器在将目标文件AB链接起来的时候再次进行修正。这个地址修正的过程通常被称为重定位,每一个要被修正的地方叫做重定位入口,重定位所做的就是给程序中每一个需要这个过程的绝对地址引用的位置做标记,使得它可以指向正确的地址,这样才可以保证程序的正确运行而不产生混淆和错乱。

     

  • 相关阅读:
    怎样理解 display:none 和 visibility:hidden
    怎样设置鼠标悬浮时弹出的文字提示框内容
    怎样获取当前元素节点的语言类型
    怎样控制元素节点的是否可拖动属性
    怎样读写分配给当前元素的快捷键
    怎样获取元素节点的标签名称
    怎样查看或修改元素节点的id属性
    怎样使用js将文本复制到系统粘贴板中
    怎样创建一个子树遍历器
    怎样创建一个子节点遍历器
  • 原文地址:https://www.cnblogs.com/qiangini/p/14909756.html
Copyright © 2011-2022 走看看