[問題] share library 如何讓process共享

看板LinuxDev作者 (The Beginning)時間15年前 (2010/10/25 17:24), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/1
.so 使用 -fPIC編譯 process在dynamic linking時會與其他有使用到相同 .so 的process 共用 .text 段 我的問題是: 在process 被產生的時候, 經由 fork / execv 呼叫之後. 那在什麼時候會將共用的 text 段分配呢? 是由 kernel 還是 linker (ld.so?) 處理? 不知道詳細的行為是怎麼運作的,是否有人能解答一下? 或者有相關資訊可以參考, 亦或閱讀程式碼的話應該由哪邊看起比較洽當? -- 最難的兩件事: 把你的錢放到我的口袋裡 把我的想法放到你腦袋裡 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.147.15.66

10/25 17:25, , 1F
薦書:《程式設計師的自我修養》
10/25 17:25, 1F

10/25 17:49, , 2F
由ld.so來負責拉進各個DSO
10/25 17:49, 2F

10/25 18:59, , 3F
那拉進的話, 與其它process 共享的部份是怎麼處理的?
10/25 18:59, 3F

10/25 19:00, , 4F
ld.so有辦法知道拉進的 .so 目前有誰在用嗎?
10/25 19:00, 4F
文章代碼(AID): #1CnKpI8j (LinuxDev)
文章代碼(AID): #1CnKpI8j (LinuxDev)