討論串[問題] 關於 Position Independent Code 的概念
共 7 篇文章
首頁
上一頁
1
2
下一頁
尾頁

推噓0(0推 0噓 2→)留言2則,0人參與, 最新作者nowar100 (拋磚引玉)時間13年前 (2010/10/10 14:50), 編輯資訊
3
0
0
內容預覽:
遇到的問題: (題意請描述清楚). 本人最近在閱讀某本書,看到動態連結這邊看了老半天,查了一堆資料. 卻還是沒辦法完全參透他的意思. 在介紹動態連結的時候. 他一開始提出的方案為 load time relocation,也就是把重定推遲到載入時才執行. 後來書上說. 這樣會讓多個行程無法共用該 D
(還有157個字)

推噓8(8推 0噓 23→)留言31則,0人參與, 最新作者littleshan (我要加入劍道社!)時間13年前 (2010/10/10 17:18), 編輯資訊
1
0
0
內容預覽:
先猜那本書就是「程式設計師的自我修養」XD. 假設有一段 code 是這樣:. int x; // global variable. void inc(). {. ++x;. }. compile 的時候,因為 x 的位址無法確定. 所以 inc 的指令會像這樣. .code. inc:. mov
(還有846個字)

推噓3(3推 0噓 5→)留言8則,0人參與, 最新作者purpose (purpose)時間13年前 (2010/10/10 17:43), 編輯資訊
0
0
1
內容預覽:
程式設計師的自我修養?我買回來只有翻馬上想看的部份,查查資料. 還沒看完,有機會可以在版上多討論討論。. 先提一下,Windows 的 .exe (執行檔,即PE格式)、.dll (動態函式庫),. 就是用「load time relocation」這個方法,. 所以拿來跟 Linux 的 ELF
(還有6109個字)

推噓3(3推 0噓 2→)留言5則,0人參與, 最新作者coldstars (あら~)時間13年前 (2010/10/10 17:44), 編輯資訊
0
0
0
內容預覽:
我覺得他寫錯了,或是你看錯.... 即使是PIC的image,也是load的時候才做relocation XD. 甚至有些東西還是第一次call到的時候才做. 能不能省記憶體主要是靠PIC (gcc是用-fpic/-fPIC的option). reloc是要解決有些address在執行時才知道的問題
(還有660個字)

推噓0(0推 0噓 5→)留言5則,0人參與, 最新作者nowar100 (拋磚引玉)時間13年前 (2010/10/10 19:15), 編輯資訊
2
0
0
內容預覽:
其實我對於您提出的例子,沒辦法理解,以下是我的謬論(?). 假設 libfoo.so 的 Code 如您所說. int x;. void inc() { ++x; }. 那麼在編譯及連結之後, x 應該是長在該 DSO 自己的 .data 區. 也就是我推文所講的,應該是可以直接從 .data 的
(還有156個字)
首頁
上一頁
1
2
下一頁
尾頁