我正在尝试理解可重定位目标文件的.symtab
设置类型。我知道,它包含了关于静态变量的信息。但是为什么呢?
要链接可重定位的目标文件和其他一些文件,我们只需要重定位这个静态变量的地址(当然还有其他一些变量,但这对静态变量并不重要)。我们所需要的就是存储在.rel.data
中的重定位表,它包含了重定位静态变量的所有信息,不是吗?
发布于 2012-03-16 22:35:38
但是对于调试来说,知道变量在哪里是非常有用的。
发布于 2012-03-16 22:36:59
不确定在您的编译器上,但对于IBM AIX Compiler,默认情况下不向符号表添加静态变量。
然而,对于调试来说,对于gdb来说,知道静态变量包含的内容和相关的符号是非常有用的,因此它们出现在那里是有意义的。
https://stackoverflow.com/questions/9739181
复制相似问题