статьиGNU Free Documentation License материалы взяты из Википедии Статья была изменена. Оригинал статьи.

Компоновщик

Материал из Энциклопедии в свободной энциклопедии
Перейти к: навигация, поиск

Компоновщик (также реда́ктор свя́зей, линкер в от англ. link editor, linker) в программа, которая производит компоновку: принимает на вход один или несколько объектных модулей и собирает по ним исполнимый модуль.

Для связывания модулей компоновщик использует таблицы имён, созданные компилятором в каждом из объектных модулей. Такие имена могут быть двух типов:

  • Определённые или экспортируемые имена в функции и переменные, определённые в данном модуле и предоставляемые для использования другим модулям;
  • Неопределённые или импортируемые имена в функции и переменные, на которые ссылается модуль, но не определяет их внутри себя.

Работа компоновщика заключается в том, чтобы в каждом модуле определить и связать ссылки на неопределённые имена. Для каждого импортируемого имени находится его определение в других модулях, упоминание имени заменяется на его адрес.

Компоновщик обычно не выполняет проверку типов и количества параметров процедур и функций. Если надо объединить объектные модули программ, написанные на языках со строгой типизацией, то необходимые проверки должны быть выполнены дополнительной утилитой перед запуском редактора связей.

[править] См. также


Пространства имён

Варианты
Просмотры
Действия