Компиляция 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, считается, что в этом файле содержится программа на языке ассемблера. В результате пропускаются все фазы, предшествующие ассемблированию.