c - 在符号表中包含有关静态变量的信息的目的是什么?

标签 c linux elf relocation

我正在尝试了解可重定位对象文件的 .symtab setcion 类型。我知道,它包含有关静态变量的信息。但为什么呢?

将可重定位目标文件与其他文件链接起来所需要做的就是重定位此静态变量的地址(当然还有其他一些文件,但这对于静态变量来说并不重要)。所以我们需要的就是存储在 .rel.data 中的重定位表,并包含重定位静态变量的所有信息,不是吗?

最佳答案

但是对于调试来说,了解变量在哪里可能非常有用。

关于c - 在符号表中包含有关静态变量的信息的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9739181/

相关文章:

linux - 无法在 GDB 中加载自定义 ELF 可执行文件

c - malloc() 返回一个指向充满随机字符的 char 的指针

c - 如何使用 VC++ 将闪存驱动器中的每个文件复制到文件夹中并格式化闪存驱动器?

c - 如何将数组正确传递给具有结构的线程函数

linux - 如果 mmap() 没有 fd(使用 MAP_ANONYMOUS),将调用哪个函数?

linux - 比较多个性能报告

java - Linux native 可执行文件不包含正确的符号信息

linux - 如何使用 `Elf64_Phdr`程序头获取段的​​名称?

c - 在我的程序中读取标准输入会返回 ��,଄��?这是什么

php - 使用 PHP 运行 SSH 命令