Объектный файл
-
Определение и использование объектных файлов
- Объектные файлы содержат машинный код и другие данные, созданные компилятором или ассемблером.
- Объектный код обычно не исполняется напрямую и может быть перемещен.
- Существуют различные форматы объектных файлов, которые могут содержать один и тот же машинный код.
- Объектные файлы могут работать как общие библиотеки.
-
Метаданные в объектных файлах
- Метаданные содержат информацию для связывания и отладки, включая символические ссылки и информацию о развертывании.
- Метаданные могут включать дату и время компиляции, информацию о компиляторе и другую идентифицирующую информацию.
-
Терминология и история
- Термин «объектная программа» использовался с 1950-х годов.
- В автоматическом программировании объектная программа создается машиной, переводящей исходный код в алгебраическую нотацию.
-
Компоновка объектных файлов
- Компоновщик объединяет объектный код в исполняемую программу или библиотеку.
- Существуют форматы объектных файлов, определенные для разных операционных систем, включая Unix и DOS.
- Некоторые форматы могут содержать машинный код для разных процессоров.
-
Разработка и выбор формата
- Выбор формата влияет на производительность компоновщика и работу программиста.
- Дизайн формата влияет на время запуска программ и скорость реагирования пользователей.
-
Типы данных в объектных файлах
- Объектные файлы содержат заголовок, сегмент кода, сегмент данных, сегмент данных только для чтения и сегмент BSS.
-
Сегментация и объединение сегментов
- Большинство форматов структурированы как отдельные сегменты данных.
- Сегменты могут быть объединены компоновщиком в соответствии с определенными правилами.
-
Примеры форматов объектных файлов
- Упомянуты форматы объектных файлов для различных операционных систем и архитектур.
-
Рекомендации и дальнейшее чтение
- Статья содержит ссылки на дополнительные ресурсы и стандарты.