1. 程式人生 > >PowerPC-object與elf中的符號引用

PowerPC-object與elf中的符號引用

alt name 而是 bcf ocp get enc 定位 http

https://mp.weixin.qq.com/s/6snzjEpDT4uQuCI2Nx9VcQ 一. 符號引用 編譯會先把每個源代碼文件編譯成object目標文件,然後把所有目標文件鏈接到一起,成為最終的可執行格式,如elf或exe. 源代碼文件中會有很多符號引用,比如一個函數調用另一個函數,一個變量中引用另一個變量。這些引用在目標文件中並不會確定地址,只有在最終鏈接的時候才會確定。 二. 函數引用實例 技術分享圖片 main函數中調用foo函數,即main函數引用符號foo。main.o或者main.obj中的引用如下: 技術分享圖片 其中foo的地址為foo@rel24,這不是一個最終的地址,而是一個需要重新定位的地址,rel即是relocate的意思。
elf中的引用為: 技術分享圖片 這裏已經是最終地址了。 技術分享圖片 三. 數據引用實例 ref.c(c99語法)代碼如下: 技術分享圖片 b_struct引用a_struct。 在ref.o或ref.obj中的引用為: 技術分享圖片 可以看到bs中as的指針處為0,而不是實際的值,因為此時還不知道as最終會放在哪一個地址。 elf中為: 技術分享圖片 這裏為最終地址。

PowerPC-object與elf中的符號引用