符号表

✍ dations ◷ 2025-07-15 05:31:52 #编译器软件,数据结构

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

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

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

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

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

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

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

相关

  • 鼻内空气流通计鼻内空气流通计、鼻侧压测量法、鼻内压力测量计、鼻测压计、鼻阻力测量(英文:Rhinomanometry)是一种气体压力计(英语:manometry),用来测量鼻腔内的空气流通量。 鼻内空气流通计能客
  • 黑人黑人,即黑色人种,又称尼格罗人种,尼格罗-澳大利亚人种、赤道人种、刚果人种,是人类分类学说里的一种人种。现今黑人大多聚居于非洲和美洲,另外,安达曼群岛、尼科巴群岛、美拉尼西亚
  • 第三军医大学坐标:29°32′14″N 106°26′48″E / 29.53722°N 106.44667°E / 29.53722; 106.44667中国人民解放军陆军军医大学,简称陆军军医大学,对外又称中国人民解放军第三军医大学,本
  • 晕(Halo, nimbus, icebow, Gloriole),是由于悬浮在大气中的冰晶把太阳光或月光折射或反射而形成的光学现象。晕通常呈环状或弧状,有红、橙、黄、绿、蓝、靛、紫七种颜色。由太阳
  • 郭元郭元釪,字于宫,号双村,江都(今属江苏)人。世代为盐商,累称巨富。好学能诗﹐后以诸生参修《佩文韵府》等,又在《中州集》基础上,增补元好问、刘祁等诗作,辑“金人入元不仕者”,康熙五十年
  • 萨瓦电台萨瓦电台(阿拉伯语:راديو سوا‎,英语:Radio Sawa)是美国的一家电台,隶属于“中东广播网”(Middle East Broadcasting Networks,美国广播理事会下属机构),由美国国会全额拨款,使
  • 毛鼻水獭(L. sumatrana)毛鼻水獭(学名:Lutra sumatrana,英语:Hairy-nosed Otter)也叫苏门答腊水獭,是一种分布在东南亚的水獭,栖息在淡水环境。该物种已经严重濒危,在1990年代,就被以为已经灭绝,但是后来又在
  • 性感科拉性感科拉(原名卡罗林·埃伯特,,1987年5月2日-2011年1月20日)是德国一位色情演员、模特。曾出演第十季《老大哥》(Big Brother)。之后还推出了两张单曲My Love – La, La, La和Lass
  • 佐佐木日菜子佐佐木日菜子(日语:佐々木 日菜子,8月10日-),日本女性配音员。出身于岩手县。身高156cm。81 Produce所属。※粗体字表示说明饰演的主要角色。
  • 杨任 (革命家)杨任(1880年-1911年),名锡庶,字晋康,湖南省怀化市辰溪县辰阳镇人,近代资产阶级革命家。1880年,杨任出生在湖南省怀化市辰溪县辰阳镇的一个书香世家,在大酉书院发蒙。1903年(光绪二十九