程序的链接、装入

什么是链接:把写好的目标文件链接在一起,将相对地址改为物理地址,并修改跳转的语句

链接方式:

静态链接:在编译之后就将所有的obj文件链接在一起,形成一个装入模块,这种链接方式在装入时就不用进行链接,执行速度比较快,但是由于只有exe文件,修改时还要拆开,不方便

装入时动态链接:编译之后不直接进行链接,只形成obj文件,在装入时才进行链接工作(检测需要哪些我文件),这时链接有利于共享,并且便于对obj文件进行修改

运行时动态链接:编译之后不直接进行链接,只形成obj文件,在运行时需要哪些文件就链接哪些文件,这时链接更灵活,但是载入时要进行链接

注意:实际上静态链接的执行速度只比动态链接快15%左右,所以一般使用动态链接

什么是装入:

绝对装入:程序的逻辑地址就是物理地址,也就是以0开始,所以只适用于单道批(有的书上定义为逻辑地址是自己写的,不一定是0,总之就是在装入时是按照程序员写的逻辑地址决定物理位置)

静态可重定位:程序的物理地址是由x加上程序的逻辑地址决定的,而x则由装入时内存的空间状态以及相关算法决定的

动态可重定位:在PCB中记录下x的值,程序在装入后仍然在内存中移动,只需要修改pcb中的值,在地址转换时,把x值放入可充定位寄存器,进行地址的转换

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值