首页 > 试题广场 >

编写程序时,源代码必须经过编译和链接生成目标代码,请问什么是

[问答题]

编写程序时,源代码必须经过编译和链接生成目标代码,请问什么是链接?链接主要解决了什么问题?简述链接的主要类型及其优缺点是什么?  (10)


推荐

这里的链接是指由链接程序将编译后形成的一组目标模块,以及所需库函数链接在一起,形成一个完整的装入模块。当链接程序将各个模块链接成一个完整的可执行目标程序时,链接程序顺序依次按各个模块的相对地址构成统一的从0号单元开始编址的逻辑地址空间。也叫做重定位。

至于什么叫做重定位;简单的理解,就是地址需要重新计算之后才得到,并根据这个地址对小块进行组装的一种方法。

(1)静态链接:在程序运行之前,先将各目标模块及它们所需的库函数链接成一个完整的可执行程序,以后不再拆开。

(2)装入时动态链接:将用户程序编译后所得到的一组目标模块,在装入内存时,采 用边装入边链接的链接方式。

(3) 运行时动态链接:对某些目标模块的链接,是在程序执行中需要该目标模块时,才对它进行的链接。


发表于 2018-07-18 21:08:48 回复(0)
链接:由链接程序将编译生成的目标模块和所需的库函数链接成一个完整的装入模块。

链接的类型分为三种,静态链接、装入时动态链接、运行时动态链接。


发表于 2020-05-08 14:44:19 回复(0)