Компилятор преобразует код, написанный на понятном человеку языке программирования, в представление машинного кода, понятное вашему процессору. Этот шаг создает объект файлы.
После выполнения этого шага компилятором требуется еще один шаг для создания рабочего исполняемого файла, который можно вызывать и запускать, то есть связывать вызовы функций (например), которые должен вызывать ваш скомпилированный код для работы , Например, ваш код может вызвать sprintf
, что является процедурой в стандартной библиотеке языка C. Ваш код не имеет ничего, что делает фактический сервис, предоставляемый sprintf
, он просто сообщает, что он должен быть вызван, но фактический код находится где-то в общей библиотеке Си. Для выполнения этой (и многих других) связей должен быть вызван linker . После компоновки вы получаете реальный исполняемый файл, который можно запустить.