我目前正在做一个nm
类似的程序,以打印 ELF 文件的符号及其地址和类型。
典型的输出类似于:
$ nm ./my_exec
0000000000003d28 d _DYNAMIC
0000000000003f28 d _GLOBAL_OFFSET_TABLE_
0000000000002000 R _IO_stdin_used
w _ITM_deregisterTMCloneTable
w _ITM_registerTMCloneTable
第一列是符号地址,第二列是符号类型,第三列是符号名称。
man 表示每个字符的含义,大写是全局符号,小写是局部符号等...
但我不明白它如何选择使用哪个字符。
我正在使用该Gelf
库,但没有看到可以确定角色的字段。