字符串表中包含若干以 null 结尾的字符串,这些字符串通常是 symbol 或 section 的名字。当 ELF 文件的其它部分需要引用字符串时,只需提供该字符串在字符串表中的位置索引即可。
字符串表中首先是一个空串,用于表示一个空名字,所以字符串表的第一个字节是“\0”。
下图展示了一个长度为 25 字节的字符串表:
字符串引用示例:
既可以引用一个完整的字符串,也可以引用一个字符串的子串。
一个目标文件中会有多个字符串表,比如 android libstdc++.so 中有 .dynstr、.shstrtab。.shstrtab 是专门保存 section 名字的字符串表。
时间: 2024-12-06 17:40:36