推 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
推 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