Оглавление [Скрыть]
Компоновщик (вычислительный)
-
Основы компоновки и перемещения
- Компоновка объединяет объектные файлы в исполняемый код.
- Перемещение перемещает исполняемый код в адресное пространство системы.
-
Компоновщики и их функции
- Компоновщики выполняют оптимизацию и перемещение кода.
- Компоновщики могут быть статическими или динамическими.
- Статическое связывание копирует все библиотечные процедуры в исполняемый образ.
- Динамическое связывание откладывает разрешение неопределенных символов до запуска программы.
-
Оптимизация и перемещение
- Компилятор не знает расположение объектов в конечном выводе.
- Компоновщик оптимизирует переходы и заменяет инструкции во время последней ссылки.
- Перемещение может происходить во время компиляции или загрузки.
-
Редактор связей
- В мэйнфреймах IBM System/360 редактор связей позволяет добавлять, заменять и удалять разделы программы.
- Редактор связей поддерживает программу без необходимости сохранять промежуточные объектные файлы.
-
Управляющие скрипты компоновщика
- Компоновщики предоставляют пользователям контроль над расположением объектных файлов.
- Управляющие скрипты позволяют учитывать специфические требования систем.
-
Общие реализации
- В Unix и Unix-подобных системах компоновщик называется “ld”.
- Компоновщик GNU – это свободная реализация команды ld в рамках проекта GNU.
- Компоновщик проекта LLVM совместим с GNU ld и может использоваться непосредственно с компилятором GNU.
Полный текст статьи: