PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
Grad-ProbAsk
[理工] 加载器
楼主:
yoz4ni
(yoooooz)
2019-12-28 16:27:35
想请问一下,relocation跟linking是在做什么的
relocation只是要更改须修正的指令位置?
linking是把会用到的副程式串起来?
如果单独看的话,我是知道
loading是在把程式加载到memory
relocation是在修改位置
linking是在合并程式
可是把上面三个串在一起我就乱掉了,不知道怎么看(像是只有执行relocation跟linking)
看了好几天还是想不出来_(┐“ε:)_
谢谢
作者:
DLHZ
( )
2019-12-28 17:34:00
程式内相关的函数会先linking(放到对应的位子跟决定呼叫位址)再对被linking的函数relocation(根据被放的地方修正函数内的位址) 有错还请帮忙提醒_(┐“ε:)_
楼主:
yoz4ni
(yoooooz)
2019-12-28 20:14:00
放到对应的位子跟决定呼叫位址->可是不是还没丢到memory里面吗,怎么知道要放在哪,怎么relocation?_(┐“ε:)_
作者:
DLHZ
( )
2019-12-28 20:16:00
这是相对的 不是真的在mem中的位址
作者:
ok8752665
(dd8752665)
2019-12-28 20:25:00
想成是把相关函数接在程式下方例如到时候主程式在位址X执行 相关函式放X+500之类的
楼主:
yoz4ni
(yoooooz)
2019-12-28 20:36:00
所以说linking只是会把相关会用到的程式连在主程式下方,位置都是虚的?然后loading的时候有可能是分散在memory个地方,不会连续在一起?
作者:
ok8752665
(dd8752665)
2019-12-28 20:41:00
相反吧 刚开始位置都是虚的 到时候打包加载内存时再针对这些位置做修正
https://tinyurl.com/vsbp7hn
看这个有图比较清楚
楼主:
yoz4ni
(yoooooz)
2019-12-29 20:55:00
想在请问一下loading relocation linking 这三个执行的顺序有一定吗?有谁一地要在最后面之类的吗,还是说3个摆的顺序不同会有不一样的功能?
继续阅读
Re: [理工] 线代 102交大 svd
DLHZ
104交大演算
tiger1029
[理工] 线代 102交大 svd
ching4562
[理工] 106 台大电机丙 离散
ccapricorntw
[理工] 105中央 资结
zaqxsw2230
[理工] OS两题
ok8752665
[理工] 计系 106交大 数题1 3 4
ching4562
[理工] 104 电机丙 离散 汉斯图
mistel
[理工]线性代数 内积相关
dannyhsu1206
[理工] 104交大资演 (38)
AirComm
Links
booklink
Contact Us: admin [ a t ] ucptt.com