Статья Автор: Деникина Н.В., Деникин А.В.

Компоновка объектных файлов и библиотек

После успешного завершения компилятора, запускается другая программа, называемая компоновщиком. Задача компоновщика — объединить все объектные файлы и создать желаемый выходной файл (обычно исполняемый файл). Этот процесс называется компоновкой ("линковкой"), который содержит несколько этапов:

  1. Компоновщик считывает каждый из объектных файлов, созданных компилятором, и проверяет их корректность.
  2. Компоновщик гарантирует правильное разрешение всех межфайловых зависимостей. Например, если вы определяете что-то в одном файле .cpp, а затем используете это в другом файле .cpp, компоновщик соединяет их вместе. Если компоновщику не удастся соединить ссылку на что-либо с его определением, вы получите ошибку компоновщика, и процесс связывания будет прерван.
  3. Компоновщик связывает файлы библиотеки. Файл библиотеки представляет собой набор предварительно скомпилированного кода, «упакованного» для повторного использования в других программах.

C++ поставляется с обширной библиотекой, называемой Стандартной библиотекой C++ (обычно сокращается до стандартной библиотеки), которая предоставляет набор полезных возможностей для использования в ваших программах. Одной из наиболее часто используемых частей стандартной библиотеки C++ является библиотека iostream , которая содержит функциональные возможности для печати текста на мониторе и получения ввода от пользователя с клавиатуры. Почти каждая программа, написанная на C++, в той или иной форме использует стандартную библиотеку, поэтому стандартная библиотека часто подключается к вашим программам. Большинство компоновщиков автоматически связываются со стандартной библиотекой, как только вы используете любую ее часть, поэтому вам, как правило, не о чем беспокоиться.

Вы также можете при желании связать другие библиотеки. Например, если вы собираетесь написать программу, воспроизводящую звуки, вам, вероятно, не захочется писать собственный код для чтения звуковых файлов с диска, проверки их достоверности или выяснения того, как маршрутизировать звуковые данные. к операционной системе или оборудованию, чтобы воспроизвести через динамик - это будет большая работа! Вместо этого вы, вероятно, загрузите библиотеку, которая уже знает, как делать эти вещи, и будете использовать ее. 
Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать