`

深入理解计算机系统-程序链接

 
阅读更多

链接

就是将不同部分的代码和数据手机和组合成为一个单一文件的过程,这个文件可被加载到存储器并执行。

链接过程可以在如下时间执行:

  1. 编译时:在源代码翻译成机器代码时
  2. 加载时:程序被加载器加载到存储器并执行时
  3. 运行时:由应用程序去完成这个工作,OS提供系统调用接口

静态链接

以一组可重定位目标文件和命令行参数作为输入,生成一个完全链接的可以加载和运行的可执行目标文件作为输出。输入的可重定位目标文件由各种不同的代码和数据节组成。

其主要完成如下两个任务:

  1. 符号解析:目标文件定义和引用符号。将每个符号引用和一个符号定义联系起来。即为:将程序中出现的存储单元名字和真正的定义处联系起来,主要是作用域问题。
  2. 重定位:通过把每个符号定义和一个存储器位置联系起来,然后修改所有对这个符号的引用,使得他们指向这个存储器位置,从而从定位这些数据节。

目标文件

  • 可重定位目标文件
  • 可执行目标文件
  • 共享目标文件

动态链接


分享到:
评论

相关推荐

    深入理解计算机系统--程序员必学课程

    标题《深入理解计算机系统--程序员必学课程》所指向的知识点聚焦于计算机系统基础理论和实践操作的学习,这是任何有志于成为计算机科学领域高手的程序员不可或缺的知识储备。计算机系统的学习有助于程序员深刻理解...

    深入理解计算机系统-英文原版

    总之,《深入理解计算机系统》这本书覆盖了计算机科学的基础知识,从数据表示到程序执行,再到系统架构和网络通信,为读者提供了一个全面而深入的理解框架。通过学习这些核心概念,程序员可以更好地设计和优化自己的...

    深入理解计算机系统-英文版

    根据提供的文件信息,我们可以深入探讨《深入理解计算机系统》这一主题中的关键知识点。该书籍旨在为程序员提供关于计算机系统的深层次视角,以下是对标题、描述以及部分章节内容的详细解析: ### 1. 信息是上下...

    深入理解计算机系统 第三版 csapp 3ed

    ### 深入理解计算机系统 第三版 csapp 3ed #### 一、书籍概述与作者背景 《深入理解计算机系统》第三版(CSAPP 3ed)是一本广泛被计算机科学领域的学生和专业人士所推崇的经典教材。本书由卡内基梅隆大学的两位...

    深入理解计算机系统_第三版英,第二版中英

    《深入理解计算机系统》是计算机科学领域的一本经典著作,旨在帮助读者全面了解计算机系统的运作原理。这本书的第三版英文版以及第二版的中英文双语版提供了丰富的学习资源,对于想深入研究操作系统、计算机架构、...

    深入理解计算机系统电子书

    ### 深入理解计算机系统电子书知识点梳理 #### 一、引言 - **信息是位在上下文中的体现**:计算机系统处理的基本单位是二进制位(bits),这些位通过不同的上下文(context)来表示各种类型的信息,如数字、文本、...

    卡耐基梅陇课程:深入理解计算机系统

    《深入理解计算机系统》课程涵盖了计算机系统的核心概念和技术,包括信息表示、程序执行、硬件架构、存储管理、操作系统功能以及网络通信。对于希望深入了解计算机工作原理的程序员来说,这门课程提供了宝贵的知识和...

    深入理解计算机系统 深入理解计算机系统

    ### 深入理解计算机系统 #### 一、引言:理解计算机系统的重要性 在《深入理解计算机系统》这本书中,作者Randal E. Bryant和David R. O’Hallaron旨在帮助读者深入了解计算机系统的各个方面。这不仅对于软件开发...

    深入理解计算机系统(英文版)

    《深入理解计算机系统》一书深入浅出地讲解了计算机系统的多个方面,包括数据表示、程序执行、硬件组织等内容。对于希望深入了解计算机工作原理的读者来说,这本书是非常有价值的参考资料。通过学习本书,读者不仅能...

    深入理解计算机系统(第三版)

    ### 深入理解计算机系统(第三版) #### 一、引言 《深入理解计算机系统》是一本经典的计算机科学教材,旨在帮助读者全面掌握计算机系统的运作原理和技术细节。本书第三版更新了大量的内容,涵盖了最新的技术和...

    《深入理解计算机系统》每个程序员都必备

    《深入理解计算机系统》这本书被广泛认为是每个程序员必读的经典之作。本书涵盖了计算机系统的基础知识,以及如何利用这些知识来编写高效、可维护的软件。下面将详细探讨该书中的核心知识点及其对程序员的重要性。 ...

    深入理解计算机系统 第二版 源码

    《深入理解计算机系统》是计算机科学领域的一本经典教材,主要涵盖了计算机系统的各个方面,包括处理器、内存、输入/输出系统、编译器、操作系统以及网络等。第二版相较于第一版通常会包含更新的内容、修正的错误...

    深入理解计算机系统(第三版)中文

    根据提供的文件信息,我们可以推断出此资源主要围绕“深入理解计算机系统(第三版)”这一书籍展开,尽管实际的链接未被正确显示,但从标题、描述与标签中,我们仍能提炼出与该书相关的若干重要知识点。下面将重点...

    深入理解计算机系统的笔记

    ### 深入理解计算机系统的笔记 #### 一、程序的基本组成 计算机程序的基本组成要素主要包括以下几个方面: 1. **算术和逻辑操作**:这些是程序中最基本的操作,用于处理数值计算和逻辑判断。 2. **存储访问**:...

    深入理解计算机系统EN

    描述:“深入理解计算机系统 深入理解计算机系统 深入理解计算机系统” 从给定的文件标题和部分描述中,我们可以提炼出以下核心IT知识点: ### 1. 信息是上下文中的位(Bits) 在计算机科学中,所有的信息都是以...

Global site tag (gtag.js) - Google Analytics