gpt4 book ai didi

elf - 如何获取 ELF 符号表中的条目数?

转载 作者:行者123 更新时间:2023-12-04 14:12:28 26 4
gpt4 key购买 nike

考虑使用 GCC 编译的 C 标准 hello world 程序,没有任何开关。如 readelf -s说,它包含 64 个符号。它还说.symtab部分是 1024 字节长。然而,每个符号表条目有 18 个字节,那么它怎么可能包含 64 个条目呢?它应该是 56 个条目。我正在构建我自己的程序来读取符号表,并且在读取到部分结束时它没有看到那些“丢失”的条目。 readelf 如何知道阅读多长时间?

最佳答案

正如我们在 elf.h 中看到的那样, 符号条目结构如下所示:

typedef struct elf32_sym {
Elf32_Word st_name;
Elf32_Addr st_value;
Elf32_Word st_size;
unsigned char st_info;
unsigned char st_other;
Elf32_Half st_shndx;
} Elf32_Sym;
Elf32_WordElf32_Addr是 32 位值,`Elf32_Half' 是 16 位,字符是 8 位。这意味着结构的大小是 16 而不是 18 字节。因此,1024 字节长的部分正好提供了 64 个条目。

关于elf - 如何获取 ELF 符号表中的条目数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7292889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com