Препроцессор, компилятор и компоновщик

Для того чтобы исходная программа на Си была переведена в машинный код (файл с расширением exe в операционной системе DOS), она должна пройти через три этапа: обработку препроцессором, компиляцию и компоновку.

В задачи препроцессора (preprocess – предварительно обрабатывать) входит подключение при необходимости к данной программе на Си внешних файлов, указываемых при помощи директивы #include, и подстановку макросов (macro – общий, macros – макроопределение).

Компилятор (compile – собирать) за несколько этапов транслирует (translate – переводить) то, что вырабатывает препроцессор, в объектный файл (файл с расширением obj), содержащий оптимизированный машинный код, при условии, что не встретились синтаксические или семантические ошибки. Если в исходном файле с программой на Си обнаруживаются ошибки, то программисту выдается их список, в котором ошибки привязываются к номеру строки, в которой они появились. Программист циклически выполняет действия по редактированию и компиляции до тех пор, пока не будут устранены все ошибки в исходном файле.

Компоновщик связывает между собой объектный файл, получаемый от компилятора, с программами из требуемых библиотек и, возможно, с другими файлами. Компоновщик часто называют редактором связей или линковщиком (link – соединять, связывать). В результате компоновки получается файл с расширением exe (exe‑файл), который может быть исполнен компьютером. Полученный exe‑файл может быть запущен на выполнение из интегрированной среды разработки Турбо Си аналогично запуску из командной строки DOS.

Рисунок 16. Блок-схема процесса создания программы на Си


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: