Podcast
Questions and Answers
Что такое объектный файл?
Что такое объектный файл?
Каков основной функционал компоновщика?
Каков основной функционал компоновщика?
Что подразумевается под термином 'перемещаемый код' в контексте объектных файлов?
Что подразумевается под термином 'перемещаемый код' в контексте объектных файлов?
Какое из следующих утверждений о библиотеках является верным?
Какое из следующих утверждений о библиотеках является верным?
Signup and view all the answers
Что происходит с машинным кодом, когда он связывается в исполняемый файл?
Что происходит с машинным кодом, когда он связывается в исполняемый файл?
Signup and view all the answers
Study Notes
Библиотеки, исполняемые файлы и динамически компонуемые библиотеки
- Компиляция файла приводит к созданию объектного файла (расширение .obj в Windows или .o в Unix-подобных системах).
- Машинный код в объектных файлах является релоцируемым: адреса памяти, где будет находиться код, еще не определены.
- Машинный код в объектных файлах не связан: внешние ссылки на функции и глобальные переменные, определенные за пределами модуля компиляции, еще не связаны.
- Объектные файлы могут быть объединены в библиотеки.
- Библиотека - это простой архив, похожий на ZIP или TAR, содержащий один или несколько объектных файлов.
- Библиотеки упрощают управление множеством объектных файлов в одном легкодоступном файле.
- Объектные файлы и библиотеки связываются в исполняемые файлы с помощью компоновщика (линкера).
- Исполняемый файл содержит полностью разрешенный машинный код, который операционная система может загрузить и запустить.
- Компоновщик выполняет следующие задачи:
- Вычисляет окончательные относительные адреса всего машинного кода, который будет загружен в память при запуске программы.
- Обеспечивает корректное разрешение всех внешних ссылок на функции и глобальные данные, определенные в каждом модуле компиляции (объектном файле).
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Description
В данном тесте вы узнаете о процессах компиляции, связывания и создания исполняемых файлов и библиотек. Узнайте, как объектные файлы и библиотеки взаимодействуют друг с другом, а также о роли компоновщика в этом процессе.