符号表, 此條目没有列出任何参考或来源, 2014年3月5日, 維基百科所有的內容都應該可供查證, 请协助補充可靠来源以改善这篇条目, 无法查证的內容可能會因為異議提出而移除, 在计算机科学中, 是一种用于语言翻译器, 例如编译器和解释器, 中的数据结构, 在中, 程序源代码中的每个标识符都和它的声明或使用信息绑定在一起, 比如其数据类型, 作用域以及内存地址, 目录, 实现, 使用, 示例, 参见实现, 编辑散列表是用来实现的一种常用技术, 编译器可能会使用一个很大的来包含所有的符号, 或是针对不同的作用域使用层. 此條目没有列出任何参考或来源 2014年3月5日 維基百科所有的內容都應該可供查證 请协助補充可靠来源以改善这篇条目 无法查证的內容可能會因為異議提出而移除 在计算机科学中 符号表是一种用于语言翻译器 例如编译器和解释器 中的数据结构 在符号表中 程序源代码中的每个标识符都和它的声明或使用信息绑定在一起 比如其数据类型 作用域以及内存地址 目录 1 实现 2 使用 3 示例 4 参见实现 编辑散列表是用来实现符号表的一种常用技术 编译器可能会使用一个很大的符号表来包含所有的符号 或是针对不同的作用域使用层次结构的多个独立的符号表 使用 编辑目标文件中通常会有一个包含了所有外部可见标识符的符号表 在链接不同的目标文件时 链接器会使用这些文件中的符号表来解析所有未解析的符号引用 符号表可能只存在于翻译阶段 也可能被嵌入到该阶段的输出文件中 以供后续阶段使用 比如 它可用于交互式的调试器中 也可以在程序执行过程中或结束后提供格式化的诊断报告 在逆向工程中 许多工具会通过符号表来检查全局变量和已知函数的地址 如果可执行文件的符号表被strip这样的工具去除掉了 则逆向工程会更加困难 在进行动态内存分配和变量访问时 编译器需要完成许多工作 其中扩展的栈模型就需要用到符号表 示例 编辑下图是一个小程序的符号表 该表是用GNU Binutils中的nm工具生成的 其中有一个数据类型符号 由类型 D 表明 和许多函数 自己定义的以及标准库中的 第一列是每个符号在内存中的位置 第二列是 符号类型 页面存档备份 存于互联网档案馆 而第三列则是符号名称 通过传递适当的参数 可以按照地址顺序生成该符号表 Example table 地址 类型 名称00000020 a T BIT00000040 a F BIT00000080 a I BIT20000004 t irqvec20000008 t fiqvec2000000c t InitReset20000018 T main20000024 t End20000030 T AT91F US3 CfgPIO useB2000005c t AT91F PIO CfgPeriph200000b0 T main20000120 T AT91F DBGU Printk20000190 t AT91F US TxReady200001c0 t AT91F US PutChar200001f8 T AT91F SpuriousHandler20000214 T AT91F DataAbort20000230 T AT91F FetchAbort2000024c T AT91F Undef20000268 T AT91F UndefHandler20000284 T AT91F LowLevelInit200002e0 t AT91F DBGU CfgPIO2000030c t AT91F PIO CfgPeriph20000360 t AT91F US Configure200003dc t AT91F US SetBaudrate2000041c t AT91F US Baudrate200004ec t AT91F US SetTimeguard2000051c t AT91F PDC Open2000059c t AT91F PDC DisableRx200005c8 t AT91F PDC DisableTx200005f4 t AT91F PDC SetNextTx20000638 t AT91F PDC SetNextRx2000067c t AT91F PDC SetTx200006c0 t AT91F PDC SetRx20000704 t AT91F PDC EnableRx20000730 t AT91F PDC EnableTx2000075c t AT91F US EnableTx20000788 T aeabi uidiv20000788 T udivsi320000884 T aeabi uidivmod2000089c T aeabi idiv02000089c T aeabi ldiv02000089c T div0200009a0 D data200009a0 A etext200009a0 D holaamigosh200009a4 A bss end 200009a4 A bss start200009a4 A bss start 200009a4 A edata200009a4 A end参见 编辑Debug symbol 取自 https zh wikipedia org w index php title 符号表 amp oldid 70797817, 维基百科,wiki,书籍,书籍,图书馆,