理解链接之链接的基本概念

本文介绍了链接的基本概念,强调了链接在软件开发中的重要性,并概述了一个简单的静态链接过程。链接器将不同目标文件组合成可执行文件,解决符号引用并进行重定位。了解链接知识有助于构建大型程序、避免编程错误、理解作用域规则等。
摘要由CSDN通过智能技术生成

前言

我们知道,开发程序的基本流程是:设计-代码编写-编译-链接-执行

每一个步骤展开都是一个很大的课题,链接是一个被人忽略的课题,因为它并不是很复杂,相对于编译来说它还是比较简单的,但是并不代表它不重要。
现在编译链接的环节基本上由IDE帮助我们完成了,于是我们很少关注编译链接。虽然说不懂编译链接对开发程序并没有很大影响,但是如果要成为大牛,计算机底层的知识还是要掌握的。
编译的知识很多,不是几篇文章能说完的,推荐看《编译原理》。

这篇文章以及几篇相关的文章将参考《深入理解计算机系统》这本书,对链接作一些介绍。

链接的基本概念

链接(linking)就是将不同部分的代码和数据收集和组合成为一个单一文件的过程,这个文件可被加载或拷贝到内存并执行。

简单来说,就是把程序用到的所有源文件的目标文件合成一个可执行目标文件,是一个“多合一”的过程。

链接的执行时机包括:

  • 编译时:源代码被翻译为机器码的时候。
  • 加载时:程序被加载器加载到内存并执行的时候。
  • 运行时:由应用程序执行。

在早期计算机系统中,链接是手动执行的。在现代计算机系统中,链接是由链接器自动执行的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值