Операционная система UNIX. Руководство программиста

     

Компиляция C-программ


Файлы с исходными текстами C-программ должны иметь расширение .c, например: mycode.c. Команда вызова компилятора имеет следующий вид:

cc mycode.c

При успешном исходе компиляции после нее будет выполнено редактирование связей и сгенерирован выполняемый файл a.out.

Для управления процессом компиляции и редактирования связей команда cc(1) имеет несколько опций. Перечислим наиболее употребительные из них:



-c
Подавляется фаза редактирования связей. В этом случае генерируется объектный файл (в нашем примере mycode.o), который позже может быть использован для редактирования связей с помощью команды cc без опции -c.
-g
  Генерируется дополнительная информация о переменных и операторах языка для символьной отладки. Если Вы планируете отлаживаться в рамках ИСРП, используйте вместо -g опцию -krot.
  Объектная программа подвергается оптимизации. В результате применения данной опции сокращается размер объектного файла и увеличивается скорость выполнения. Эта опция логически несовместима с опцией -g. Обычно она используется, когда программа уже отлажена.
-p
  Объектная программа допускает использование утилиты prof(1) для получения временного профиля выполнения. Удобно использовать эту опцию для выявления процедур, реализация которых требует совершенствования.
-o вых_файл
  Выполняемый файл, полученный после редактирования связей, будет иметь имя вых_файл, а не a.out.

Остальные опции, используемые с командой cc, описаны в Справочнике пользователя.

Если имя файла, указанного в команде cc, оканчивается на .s, считается, что в этом файле содержится программа на языке ассемблера. В результате пропускаются все фазы, предшествующие ассемблированию.



Содержание раздела