Лекция: Типичный объектный модуль содержит следующие структуры данных.

□Таблицу перемещений, т. е. таблицу ссылок на перемещаемые объекты внутри модуля.

□Таблицу ссылок на внешние объекты. Иногда это называется таблицей или списком импорта.

□Таблицу объектов, определенных в этом модуле, на которые можно ссы­латься из других модулей. В некоторых случаях ее называют списком экс­порта. Иногда таблицы экспорта и импорта объединяют и называют все это таблицей глобальных символов. В этом случае для каждого символа приходится указывать, определен он в данном модуле или нет, а если оп­ределен, то как.

□ Различную служебную информацию, такую, как имя модуля, программу, которая его создала и отладочную информацию.

□ Собственно код и данные модуля.

Как правило, код и данные разбиты на именованные секции. Например, в системах семейства Unix программы, написанные на языке С, состоят из минимум трех программных секций:

□. text — исполняемый код (современные компиляторы иногда помещают в эту секцию и данные, описанные как const);

□ .data — статически инициализированные данные;

□.bss — неинициализированные данные.

Некоторые форматы объектных модулей, в частности ELF (Executable and Linking Format — формат исполняемых и собираемых [модулей], используе­мый современными системами семейства Unix), предоставляют особый тип глобального символа — слабый (weak) символ.

еще рефераты
Еще работы по информатике