НАЗВАНИЕ
cc - компилятор языка C
СИНТАКСИС
cc [-c] [-p] [-g] [-O] [-L каталог] [-l библиотека] [-W фаза,арг1[,арг2 ...] [-S] [-E] [-P] [-H] [-D имя] [-U имя] [-I каталог] [-B цепочка_символов] [-t [p012al]] [-w] [-#] файл ...
ОПИСАНИЕ
Команда cc является командой вызова компилятора языка C, который генерирует ассемблерные инструкции. Команда cc принимает аргументы следующих типов:
Аргументы, оканчивающиеся на .c, интерпретируются как имена файлов, содержащих исходные тексты на языке C; они компилируются, и каждый об ектный модуль помещается в файл с именем, которое образуется из имени исходного файла замещением расширения .c на .o. Однако об ектный .o-файл обычно удаляется, если компилируется и одновременно загружается программа, состоящая из одного модуля. Аналогично, аргументы, оканчивающиеся на .s, интерпретируются как имена файлов, содержащих исходные тексты на языке ассемблера, и ассемблируются с образованием об ектных .o-файлов.
Командой cc интерпретируются следующие опции [см. также опции редактора связей и ассемблера ]:
Дополнить каталогом список каталогов, которые содержат об ектные библиотечные модули [для редактирования связей посредством ].
-l библиотекаСкомпоновать с об ектной библиотекой [для ].
-W фаза,арг1[,арг2 ...]Передать аргумент(ы) заданной фазе компиляции, где фаза - это один из символов [p012al], которые обозначают, соответственно, препроцессор, первый проход компилятора, второй проход компилятора, оптимизатор, ассемблер, редактор связей. Например, по опции -W,a,-m перед вызовом ассемблера будет вызван макропрепроцессор . Такая опция имеет смысл для файлов, содержащих ассемблерные вставки.
-SСкомпилировать указанные C-программы и поместить результат на языке ассемблера в соответствующие файлы с расширением .s (в этом случае об ектные модули не создаются). -EУказанные C-программы обработать только препроцессором и результат направить на стандартный вывод. -PУказанные C-программы обработать только препроцессором и результат поместить в соответствующие файлы с расширением .i. -HВыдать в стандартный протокол составные имена всех участвующих в компиляции включаемых файлов. -D имяОпределить имя для препроцессора. Этот механизм используется в условных директивах препроцессора, так как позволяет определять имена за пределами исходного текста.
-U имяСделать имя неопределенным для препроцессора.
-I каталогИзменить алгоритм поиска включаемых (посредством директивы #include) файлов, имена которых не начинаются с символа /, а именно: сначала искать в указанном каталоге, а затем уже в каталогах стандартного списка. Так, включаемые файлы, чьи имена заданы в двойных кавычках, сначала ищутся в каталоге, содержащем файл, затем в каталогах, указанных с помощью опции -I, а затем уже в каталогах стандартного списка. Включаемые файлы, чьи имена заданы в угловых скобках, не ищутся в каталоге, содержащем файл.
-B цепочка_символовПолучать составные имена программ, заменяющих препроцессор, компилятор, ассемблер и редактор связей, путем конкатенации цепочки_символов с окончаниями cpp, c0, c1, optim, as и ld. Если цепочка_символов пуста, она трактуется как /lib/o.
-t [p012al]В файлах, имена которых заданы с помощью опции -B, искать только требуемые компилятор, оптимизатор, ассемблер и редактор связей. Если отсутствует опция -B, то цепочка_символов берется равной /lib/n. Указание опции -t "" эквивалентно -t p012.
-wПодавить все предупреждающие сообщения. -#Внутренний флаг отладки; выдавать название каждой выполняемой фазы компиляции. Если флаг задан дважды, то фазы не выполняются, а только распечатываются их названия.<