当前位置:  开发笔记 > 编程语言 > 正文

什么是符号表?

如何解决《什么是符号表?》经验,为你挑选了4个好方法。

有人能描述符号表在C和C++的上下文中是什么吗?



1> Ben Combee..:

这里有符号表的两个常见和相关含义.

首先,目标文件中有符号表.通常,C或C++编译器将单个源文件编译为具有.obj或.o扩展名的目标文件.它包含链接器可以处理到工作应用程序或共享库中的可执行代码和数据的集合.目标文件中有一个称为符号表的数据结构,它将目标文件中的不同项映射到链接器可以理解的名称.如果从代码中调用函数,则编译器不会将例程的最终地址放在目标文件中.相反,它将占位符值放入代码中,并添加一个注释,告诉链接器在其处理的所有目标文件中查找各种符号表中的引用,并将最终位置放在那里.

其次,共享库或DLL中还有符号表.这是由链接器生成的,用于命名库用户可见的所有函数和数据项.这允许系统进行运行时链接,将对这些名称的开放引用解析为在内存中加载库的位置.

如果你想了解更多,我建议约翰莱文的优秀书籍"连接器和装载机".链接文字



2> Steve Landey..:

简而言之,它是您将变量分配给其在内存中的地址的名称的映射,包括类型,范围和大小等元数据.它由编译器使用.

这通常不仅仅是C [++]*.从技术上讲,它并不总是包含直接内存地址.这取决于编译器所针对的语言,平台等.



3> 小智..:

在Linux中,您可以使用命令:

nm [目标文件]

列出该对象文件的符号表.



4> Joe Schneide..:

符号表是程序/单元中的"符号"列表.符号通常是变量或函数的名称.符号表可用于确定内存变量或函数的位置.

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有