1. 程式人生 > >符號表、鏈接器與地址

符號表、鏈接器與地址

修改 quest 地址 control response 關系 con 不同 style

符號表將標識符和其類型、位置關聯起來,當我們去處理變量,函數的聲明時,就是將這些信息組織(綁定)起來,放在表裏,當需 要知道這些函數,變量的意義時,就去這個表裏查。
  • 重定位。鏈接器把每個符號定義與一個虛擬地址聯系起來,然後修改所有對這些符號的引用,使得它們指向這個存儲位置,從而重定位這些節。

一般來講,符號表有內存地址和函數/變量的對應關系,編譯時節點的各種屬性(類型,作用域,分配空間大小,(函數)的參數類型)等。對符號表的具體使用方法每個編譯器都不同。

0000000100134d18 - 01 0000 FUN +[CCResponseHandle checkRequestController]

0000000100134d18 t +[CCResponseHandle checkRequestController]

000000010013470c t +[CCResponseHandle handleResponse:]

000000010013470c - 01 0000 FUN +[CCResponseHandle handleResponse:]

0000000000000000 - 00 0000 GSYM _OBJC_IVAR_$_CCBaseReqApi._retCode

00000001005f87f0 s _OBJC_IVAR_$_CCBaseReqApi._retCode

0000000000000000 - 00 0000 GSYM _OBJC_IVAR_$_CCBaseReqApi._retMessage

00000001005f87f4 s _OBJC_IVAR_$_CCBaseReqApi._retMessage

符號表、鏈接器與地址