readelf显示的符号表列的含义是什么?

Swa*_*p S 44 symbols elf

有人可以解释符号表中显示的列readelf吗?

Cal*_*ain 44

考虑以下:

符号表.symtab包含1203个条目:

 Num:    Value  Size Type    Bind   Vis      Ndx Name
 310: a0008120     0 NOTYPE  GLOBAL DEFAULT  ABS _gp  
 734: a0000010    32 OBJECT  GLOBAL DEFAULT   77 v 
 818: 9d000018   496 FUNC    GLOBAL DEFAULT   71 main 
 849: a0000124     4 OBJECT  GLOBAL DEFAULT   78 phrase 
 955: a0000000     9 OBJECT  GLOBAL DEFAULT   77 peppers  
1020: a000023c   192 OBJECT  GLOBAL DEFAULT   80 bins
Run Code Online (Sandbox Code Playgroud)
  • Num: =符号编号
  • Value =符号的地址
  • Size =符号的大小
  • Type=符号类型: Func=功能,Object,File(源文件名),Section=存储器部分,Notype=无类型绝对符号或未定义
  • Bind= GLOBAL绑定表示符号在文件外部可见.LOCAL绑定仅在文件中可见.WEAK就像全球一样,符号可以被覆盖.
  • Vis =符号可以是默认,受保护,隐藏或内部.
  • Ndx =符号所在的部分编号.ABS表示绝对值:未调整为任何部分地址的重定位
  • Name =符号名称


the*_*oid -3

您可以:

man readelf
Run Code Online (Sandbox Code Playgroud)

或者看看这些教程:

  • 我也对这个问题的答案感兴趣。特别是,什么是 Ndx(来自 readelf -s)?对于了解 elf 的人来说,这可能是显而易见的。我查看了手册页和您列出的文档,但找不到其中的信息。也许我只是错过了?这不是第一次了。 (2认同)