符号表

✍ dations ◷ 2025-11-30 13:54:00 #编译器软件,数据结构

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

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

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

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

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

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

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

相关

  • 干扰素结构 / ECOD1b5l :24-187 1ovi :24-185 2hie :24-186 1itf :24-186 1au1B:22-187 2hif :24-182结构 / ECOD结构 / ECOD干扰素(英语:Interferon; IFNs; /ˌɪn
  • 善导寺坐标:25°02′44″N 121°31′29″E / 25.04556°N 121.52472°E / 25.04556; 121.52472善导寺(英语:Shandao Temple),全名为财团法人台北市净土宗善导寺,位于台湾台北市忠孝东路,
  • 文学流派文学流派,或文学运动,是世界各地的传统文学发展过程中,有相同审美观点的作家群,在类似的风格下所形成的文学派别、思潮。例如唐代诗歌流派中有边塞诗派。宋朝有豪放词派和江西诗
  • 罗密欧与茱丽叶《罗密欧与朱丽叶》(Romeo and Juliet),威廉·莎士比亚著名悲剧作品之一,因其知名度而常被误称为莎翁四大悲剧之一(实为《麦克白》、《奥赛罗》、《李尔王》及《哈姆雷特》)。戏剧
  • 须猪须猪(学名:Sus barbatus)也称为婆罗洲须猪,属猪科猪属,是一种分布在马来群岛上的野猪。须猪的特点是嘴部有突出的胡须,它分布于苏门答腊、婆罗洲、马来半岛和苏禄群岛,主要栖息处是
  • Nature (组合)NATURE(朝鲜语:네이처)是韩国n.CH 娱乐公司推出的女子组合,由韩国籍成员Sohee、Saebom、Lu、Chaebin、Loha、Uchae、Sunshine,中国籍成员Aurora及日本籍成员Haru组成。组合于2018
  • 枪械管制枪支管制是指任何对定义、限制或限制拥有,生产或改装,进口,运输,销售和/或使用枪械的法律,政策,实践或提案。枪支管制的法律和政策在世界各地有很大的差异。有些国家/地区,如英国和
  • 侦察侦察(英语:reconnaissance),原本是军事术语,指“利用目视观测或其他侦测方法,以获取有关之敌情,天然及地形等情报资料,以为作战及战斗指导之依据。”中国古时之于侦察的同义字很多,如
  • 应用及环境微生物学《应用及环境微生物学》(,简称AEM)为美国微生物学会所发行的双周科学期刊,具同侪审查机制。本刊物创始于1953年,原名《应用微生物学》(),1975年改为今名。本期刊属于延迟开放获取期
  • 小堀政一小堀政一(こぼり まさかず,1579年-1647年3月12日,天正7年-正保4年2月6日)是安土桃山时代~江户时代前期的大名、茶人、建筑家、作庭家。备中松山藩2代藩主、后近江小室藩初代藩主。