
_START_ARTICLE_
符号表
_START_SECTION_
实现
_START_PARAGRAPH_
散列表是用来实现符号表的一种常用技术。编译器可能会使用一个很大的符号表来包含所有的符号，或是针对不同的作用域使用层次结构的多个独立的符号表。
_START_SECTION_
使用
_START_PARAGRAPH_
目标文件中通常会有一个包含了所有外部可见标识符的符号表。在链接不同的目标文件时，链接器会使用这些文件中的符号表来解析所有未解析的符号引用。_NEWLINE_符号表可能只存在于翻译阶段，也可能被嵌入到该阶段的输出文件中，以供后续阶段使用。比如，它可用于交互式的调试器中，也可以在程序执行过程中或结束后提供格式化的诊断报告。_NEWLINE_在逆向工程中，许多任务具会通过符号表来检查全局变量和已知函数的地址。如果可执行文件的符号表被strip这样的工具去除掉了，则逆向工程会更加困难。_NEWLINE_在进行动态内存分配和变量访问时，编译器需要完成许多任务作，其中扩展的栈模型就需要用到符号表。