[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Процесс Си-компиляции - Обзор
Цель этого приложения - описать фазы компиляции Си-программ и научить
настраивать компилятор под ваши нужды. Си-компилятор преобразует Си-
текст в кодах ASCII в выполняемый объектный код. Процесс компиляции
разделен на четыре фазы:
.    Препроцессор
   - Осуществляет вставку исходных текстов из других файлов (#include)

   - Заменяет вхождения имен, для которых определена замена (#define)

   - Осуществляет условную обработку исходного файла (#ifdef)

   - Уничтожает комментарии

.    Транслятор
   - Преобразует конструкции языка Си в конструкции ассемблера

   - Осуществляет проверку наличия синтаксических ошибок

   - Эта фаза занимает больше всего времени

.    Ассемблер
   - Преобразует конструкции языка ассемблера в машинные команды

.    Редактор связей
   - Осуществляет сборку  main и других объектных файлов в загружаемый
     модуль

   - Просматривает библиотеки для разрешения внешних ссылок

   - Осуществляет подготовку выполняемого кода

Фактически cc - это управляющая программа, которая последовательно
вызывает с помощью fork и exec другие программы, как фазы процесса
компиляции. Каждой фазе соответствует свои опции, и у каждой фазы свои
сообщения об ошибках. Раздел ФАЙЛЫ на странице Руководства cc(1)
указывает, где может быть найдена каждая исполняемая фаза. В общем
случае, фазы процесса компиляции не должны вызываться явно. Их вызов
осуществляет команда cc(1). Каждая фаза использует файлы для передачи
своего вывода следующей фазе. Все фазы описаны в секции 1 Справочного
руководства пользователя ОС UNIX+ System V. Компилятор ссылается на
cc(1), препроцессор - на cpp(1), ассемблер - на as(1), редактор связей
- на ld(1).
                        ПРОЦЕСС СИ-КОМПИЛЯЦИИ
                                ОБЗОР
                  ФОРМАТ: cc [опции] prog.c [опции]