[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]

Программирование: Разработка и отладка программ


Таблица строк

Таблица строк содержит последовательности символов, завершенные символами NUL, которые обычно называются строками. В этих строках обычно хранятся имена разделов и символов объектных файлов. Для идентификации строк применяется оглавление таблицы, в котором указаны смещения строк. Первый байт (смещение 0) содержит символ NUL. Последний байт таблицы также должен содержать символ NUL. Элемент оглавления со смещением 0 ссылается либо на строку без имени, либо на строку с пустым именем, в зависимости от ситуации. Оглавление может быть пустым; в этом случае в поле sh_size заголовка раздела должен быть указан 0. Пустая таблица строк может содержать непустое оглавление.

В поле sh_name заголовка раздела содержится оглавление (см. описание поля e_shstrndx заголовка ELF). Ниже приведен пример таблицы строк размером 25 байт.

Смещение +0 +1 +2 +3 +4 +5 +6 +7 +8 +9
0 \0 n a m e . \0 V a r
10 i a b l e \0 a b l e
20 \0 \0 x x \0  

Индексы строк

Индекс Строка
0 нет
1 name.
7 Variable
11 able
16 able
24 пустая строка

Как показано в примере, оглавление таблицы строк может ссылаться на любой байт раздела. В таблице могут содержаться одинаковые строки; ссылки на подстроки не допускаются, однако может быть указано несколько ссылок на одну строку. Допускается и ситуация, когда на строку вообще нет ссылки.


[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]