Выбор ответа Junior Сборка и линковка спрашивают часто обновлено

Этапы сборки

Вопрос

Какой этап сборки C++-программы связывает вызов функции из main.o с её определением в math.o?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Линковка. Компилятор обрабатывает каждую единицу трансляции отдельно и оставляет в объектном файле неразрешённую ссылку на символ.

Варианты ответа

  1. Препроцессор
  2. Компиляция
  3. Загрузка программы операционной системой
  4. Линковкаправильный ответ

Разбор

Компилятор обрабатывает каждую единицу трансляции отдельно и оставляет в объектном файле неразрешённую ссылку на символ. Связывает ссылки с определениями линковщик.

  • Препроцессор только вставляет текст заголовков и раскрывает макросы.
  • Компилятору достаточно объявления, определение ему не нужно.
  • Загрузчик ОС связывает символы только для динамических библиотек, а для статически слинкованных объектов всё делает линковщик.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.