Синтаксис команды вызова компилятора
cc [-newc] [flag ...] file ...
cc -oldc [flag ...] file ...
cc -migrate [flag ...] file ...
Флаги по умолчанию:
cc -newc -assume aligned_objects -cpp -call_shared -double -fprm n -fptm n
-g0 -I/usr/include -inline manual -member_alignment -no_fp_reorder
-no_misalign -object -O1 -oldcomment -p0 -no_pg -preempt_symbol -signed
-arch generic -std0 -tune generic -writable_strings
В будущем выпуске DIGITAL UNIX версия языка по умолчанию будет изменена с -std0
(K&R стиль программирования, до-ANSI C-стандарт) на -std (ANSI C-стандарт с
некоторыми послаблениями). Самая заметная разница в трансляции с -std вместо
-std0 будет в возросшем числе диагностических сообщений. В редких случаях
трансляция с -std приведет к проблемам, требующим изменения программного кода
или указания -std0 в командной строке.
Изменение умолчания с -std0 на -std позволит легче переносить программы
на платформу DIGITAL UNIX, т.к. сделает компиляцию более совместимой
с компиляторами других фирм. Также улучшится качество компиляции, т.к.
будет больше информации для компилятора.
Команда cc может содержать флаги, относящиеся и к команде cc, и к команде
ld (линкер). Когда компилятор распознает позиционно-чувствительные флаги
линкера ( -L, -all, -exclude, -exported_symbol, -hidden, -hidden_symbol, -kl,
-l, -none, -non_hidden и -no_archive), он сохраняет их последовательность
для линкера.
Все входные файлы, плюс результаты трансляции, загружаются в заданном
порядке, чтобы создать исполняемую программу с именем по умолчанию a.out.
Компилятор может выдавать объектные файлы в расширенном COFF формате
( нормальный результат ). Он может также выдавать объектные файлы в текстовом
ассемблерном формате, если вызван с флагом -S. Вызванный с флагом -oldc, он
может выдавать двоичный ассемблерный код, двоичный ucode или символический
ucode.
Чтобы облегчить установку флагов компилятора по умолчанию, можно создать
конфигурационный файл опций с именем comp.config. Этот файл должен быть
записан в целевом директории компилятора /usr/lib/cmplrs/cc и должен
содержать одинокую строку флагов компилятора. Флаги обрабатываются до
определенных пользователем флагов в командной строке. Строка может быть
до 8191 (BUFSIZ-1) байтов длины, до 64 полей (разделенных пробелами и
табуляцией). Флаги, определенные в командной строке, перевешивают
определенные в конфигурационном файле.
Диагностика, производимая cc, сделана так, чтобы сама себя объяснять.
Некоторые сообщения могут выдаваться ассемблером или загрузчиком.