符号表

✍ dations ◷ 2025-12-01 11:23:50 #编译器软件,数据结构

在计算机科学中,符号表是一种用于语言翻译器(例如编译器和解释器)中的数据结构。在符号表中,程序源代码中的每个标识符都和它的声明或使用信息绑定在一起,比如其数据类型、作用域以及内存地址。

散列表是用来实现符号表的一种常用技术。编译器可能会使用一个很大的符号表来包含所有的符号,或是针对不同的作用域使用层次结构的多个独立的符号表。

目标文件中通常会有一个包含了所有外部可见标识符的符号表。在链接不同的目标文件时,链接器会使用这些文件中的符号表来解析所有未解析的符号引用。

符号表可能只存在于翻译阶段,也可能被嵌入到该阶段的输出文件中,以供后续阶段使用。比如,它可用于交互式的调试器中,也可以在程序执行过程中或结束后提供格式化的诊断报告。

在逆向工程中,许多任务具会通过符号表来检查全局变量和已知函数的地址。如果可执行文件的符号表被strip这样的工具去除掉了,则逆向工程会更加困难。

在进行动态内存分配和变量访问时,编译器需要完成许多任务作,其中扩展的栈模型就需要用到符号表。

下图是一个小程序的符号表。该表是用GNU Binutils中的nm工具生成的。其中有一个数据类型符号(由类型 "D" 表明)和许多函数(自己定义的以及标准库中的)。第一列是每个符号在内存中的位置,第二列是"符号类型",而第三列则是符号名称。通过传递适当的参数,可以按照地址顺序生成该符号表。

相关

  • 法属圭亚那2019冠状病毒病法属圭亚那疫情,介绍在2019新型冠状病毒疫情中,在法属圭亚那发生的情况。2020年3月4日,法属圭亚那宣布确诊5例新冠肺炎病例,其中一名为医护人员。3月15日,累计确诊
  • 复辟复辟(辟,音“壁”),可以指原本失去君位的君主,再次登基为君。即重祚。或指曾经是君主制国家,在改行共和(Republic)政体后,原先有历史来源的前朝君主制君主(皇帝、国王、亲王等)再次成为
  • 世界交易所联盟世界交易所联合会(英文:WFE),原名国际交易所联盟(FIBV)是一家证券交易所的国际组织。世界交易所联盟总部位于英国伦敦,目前由58个国家、地区的证券交易所构成。
  • 克利埃勒姆克利埃勒姆(Cle Elum)位于美国华盛顿州基帝塔什县。美国2000年人口普查时人口为1,755人,2009年估计为1,870人。因距离西雅图只有一小时车程,此市为露营圣地。
  • 弗里德里希大公 (泰申公爵)萨尔姆萨尔姆亲王妃玛丽亚·克里斯蒂娜 帕尔马的埃利斯亲王妃玛丽亚·安娜 霍恩洛厄 - 希灵斯菲斯特的戈特弗里德亲王妃玛丽亚·亨丽埃塔 娜塔莉斯蒂芬妮 加布里埃莱 巴伐利
  • 电子回路电子回路(英语:Electrical network),是由电气设备和元器件,按一定方式连接起来,为电荷流通提供了路径的总体,也叫电子线路或称电气回路,简称网络或回路。如电源、电阻、电容、电感、
  • 鲍鹏山鲍鹏山(1963年3月1日-),安徽六安人,文学博士,作家、学者,上海开放大学中文系教授,《百家讲坛》主讲人。1985年7月,毕业于安徽师范大学中文系。毕业后申请支边,至青海教育学院(现青海师
  • 娄山娄山(1962年1月8日-),出生于黑龙江,籍贯河北承德,是北京油画学会会员。2007年就读于中央美术学院油画第第十五届助教研修班,2009年北京亚洲艺术博览会,油画作品参展;2009年油画人物20
  • 渐缩比渐缩比(常用符号λ)为航天工程名词,表示飞行器机翼之翼尖(wing tip,ct)与翼根(wing root,cr)长度之比值(λ≡ct/cr)。椭圆翼有着较少的附加阻力,在1930年代时,二战的飞机常常采用椭圆翼。
  • 相对性原理物理定律在一切参考系中都具有相同的形式,这就是相对性原理。相对性原理是物理学最基本的原理之一,它指出不存在“绝对参考系”。在一个参考系中建立起来的物理定律,通过适当的