Операционная система UNIX. Руководство программиста

Определение точки входа


Вспомогательный заголовок объектных файлов обычного формата, применяемый в ОС UNIX и имеющий структуру a.out, содержит поле для (основной) точки входа этого файла. Правила заполнения это- го поля редактором связей (в порядке их применения) таковы:

  • Берется значение имени, заданного в опции -e, если эта опция используется.
  • Используется значение имени _start, если это имя определено.
  • Используется значение имени main, если это имя определено.
  • В остальных случаях поле получает нулевое значение.

Таким образом, можно задать значение точки входа, используя опцию -e или предложение управляющего языка вида

_start = выражение

Когда редактор связей вызывается на выполнение командой cc(1), программа пользователя объединяется с инициализирующей программой. Эта последняя после обращения к программе пользователя выполняет системный вызов exit [см. exit(2)], чтобы закрыть файлы и осуществить другие терминирующие действия. Если пользователь вызывает редактор связей сам и/или изменяет точку входа, он должен гарантировать, что программа завершает выполнение системным вызовом exit.



Содержание раздела