符号表链接器与地址

Posted zzfx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了符号表链接器与地址相关的知识,希望对你有一定的参考价值。

符号表将标识符和其类型、位置关联起来,当我们去处理变量,函数的声明时,就是将这些信息组织(绑定)起来,放在表里,当需
要知道这些函数,变量的意义时,就去这个表里查。
 
  • 重定位。链接器把每个符号定义与一个虚拟地址联系起来,然后修改所有对这些符号的引用,使得它们指向这个存储位置,从而重定位这些节。

一般来讲,符号表有内存地址和函数/变量的对应关系,编译时节点的各种属性(类型,作用域,分配空间大小,(函数)的参数类型)等。对符号表的具体使用方法每个编译器都不同。

 

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

 

以上是关于符号表链接器与地址的主要内容,如果未能解决你的问题,请参考以下文章

C 基础 - 预处理器与C库

由于 MySql 连接器 C++,如何修复未解析的外部符号?

运算符

运算符

腾讯Bugly Android 符号表配置及上传

腾讯Bugly Android 符号表配置及上传