看板 Grad-ProbAsk 關於我們 聯絡資訊
板友好 又來請教一下了 最近讀Memory management那章一開始就有個地方搞不太懂 就是Dynamic Loading跟Dynamic Linking 恐龍跟洪x筆記我看了好幾遍還是不太懂其含義 恐龍說Dynamic Loading跟Dynamic Linking這兩者很像 差別就是以下兩段 Dynamic Loading就是在Execution time才將需要的modules載入memory(這我ok) Dynamic Linking就是在Execution time才進行連結(這句話不太懂) 意思是Dynamic Loading有事先進行連結嗎? 請問是連結什麼東西@@? -- ★☆笑笑笑笑笑眼眼眼無無無無敵敵敵敵踢踢踢踢★☆★★☆★★☆ ☆★☆★★☆★☆☆★★☆★☆☆★☆★★☆帕帕★☆☆★★☆★ ★☆★☆☆★☆★★☆無無無☆★敵敵敵★☆踢踢踢踢★☆★★☆★☆ ΨWill★☆★☆☆★★☆★☆☆★☆★★☆☆★帕帕☆★☆☆★☆★ I.Am☆★☆眼眼眼☆★☆★★☆★☆☆★★☆★★☆★★☆★☆ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.0.214.213
wheels:先做linking再做loading,所以loading前必先有linking, 08/22 13:19
wheels:但是就看你的linking要不要使用dynamic啦! 08/22 13:20
wheels:linking顧名思義就是與其他東西做連結,像是與library或者 08/22 13:20
wheels:你的程式有使用到別的程式裡的部分,這種情況compiler在跑 08/22 13:21
wheels:你的code時會先在程式要call那個不在你程式內的東西的地方 08/22 13:22
wheels:加註上問號,並且在relocatable object code中的linking 08/22 13:23
wheels:修正資訊欄位裡面加註之後要由linking loader補上缺的這個 08/22 13:24
wheels:部分,就是所謂的linking修正。 08/22 13:25
wheels:linking loader可視為linkage editor跟loader的合併,在各 08/22 13:27
wheels:自的部分都可以作dynamic來強化效能。 08/22 13:31
tobyboy21242:為啥麼樓上可以這麼強..你講的書上我都沒看到阿@@ 08/22 17:21
liataian:哇 懂了懂了 感謝一樓神人 感覺要搭配恐龍上的圖來看比較 08/22 22:38
liataian:好懂......... 08/22 22:38
mqazz1:1F真的好強.. 08/22 22:44
wheels:@_@ 我只是把洪逸上課內容重覆一遍而已,可能原po剛好沒上 08/23 00:02
wheels:到這堂吧! 08/23 00:02
liataian:其實有上過 只是他那邊講很快 圖又畫很亂 很容易忘記XD 08/23 00:31
wheels:上他的課抄筆記速度決定了一切啊!而且他又很喜歡把冷氣開 08/23 01:12
wheels:的很冷更難寫字... 08/23 01:13
cola1230:心碎1 08/23 02:07
sneak: 你的code時會先在程 https://daxiv.com 09/11 14:29
Davidhu127: 我覺得這兩個確實容易讓人搞混,因為Dynamic linking 01/21 21:00
Davidhu127: 是會放一個stub在程式中,在呼叫library 時如果發現me 01/21 21:00
Davidhu127: mory當中沒有,則會load一份到memory。這跟Dynamic lo 01/21 21:00
Davidhu127: ading的行為有那麼點相似。 01/21 21:00
Davidhu127: 我是看的這篇Zheng Gao大大的答案,才算解答到 https: 01/21 21:05
Davidhu127: //bit.ly/2AUiNGe。簡單說,Dynamic loading的目標是 01/21 21:06
Davidhu127: “函式沒有用到就不要load”,Dynamic linking的目標 01/21 21:06
Davidhu127: 則是防止重複load lib。前者未必能防止重複,而後者 01/21 21:06
Davidhu127: 需要檢查其他process space,所以需要OS才能做到。 01/21 21:06