网上看到的有关符号表的一篇文章,解释得比较详细,转载过来。
Linux内核的符号表位于两个部分。首先是内核的静态部分,也就是内核文件映像vmlinuz部分的符号表。还有一部分则是Linux可配置模块部分的符号表。前者对应于/proc/ksyms和System.map这两个文件。
前者是一个"proc文件"并且是在内核启动时创建的。实际上 它不是一个真实的文件;它只是内核数据的简单表示形式。然而,System.map却是文件系统上的一个真实文件。可以用vi来查看整个系统的符号表。关于这个文件中的一些标记下面是具体的意义:
T External text.
t Local text.
D External initialized data.
d Local initialized data.
B External zeroed data.
b Local zeroed data.
A External absolute.
a Local absolute.
U External undefined.
G External small initialized data.
g Local small initialized data.
I Init section (IRIX4 static shared library initialization code).
S External small zeroed data.
s Local small zeroed data.
R External read only.
r Local read only.
C Common.
E Small common.
PS:对于普通的ELF文件,可以使用nm命令来获得这个可执行程序的符号表
阅读(1554) | 评论(1) | 转发(1) |