Выбор ответа Junior Сборка и линковка спрашивают часто обновлено
Этапы сборки
Вопрос
Какой этап сборки C++-программы связывает вызов функции из main.o с её определением в math.o?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Линковка. Компилятор обрабатывает каждую единицу трансляции отдельно и оставляет в объектном файле неразрешённую ссылку на символ.
Варианты ответа
- Препроцессор
- Компиляция
- Загрузка программы операционной системой
- Линковкаправильный ответ
Разбор
Компилятор обрабатывает каждую единицу трансляции отдельно и оставляет в объектном файле неразрешённую ссылку на символ. Связывает ссылки с определениями линковщик.
- Препроцессор только вставляет текст заголовков и раскрывает макросы.
- Компилятору достаточно объявления, определение ему не нужно.
- Загрузчик ОС связывает символы только для динамических библиотек, а для статически слинкованных объектов всё делает линковщик.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
От исходника до исполняемого файла
Следующий вопрос
Порядок инициализации глобальных объектов