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