c89 POSIX.2

c89 [-cEgOs] [-D имя[=значение]] ... [-I каталог] ... [-L каталог] ...
[-o выходной_файл] [-U имя] ... операнд ...

Так называется компилятор языка C, как того требует стандарт IEEE Std 1003.2 ("POSIX.2").

Компилятор c89 принимает следующие опции:

-c
Подавить компоновочную фазу компиляции и не удалять никакие полученные объектные файлы.
-D имя[=значение]
Определить имя, как если бы это была директива #define языка C. Если "=значение" не задано, будет использовано значение 1. Заметьте, что для выполнения трансляции по стандарту IEEE Std 1003.2 ( "POSIX.2" ) необходимо определить _POSIX_SOURCE либо в исходном тексте, либо используя эту опцию. Приоритет опции -D меньше, чем у опции -U. Так, если имя используется сразу в функциях -U и -D, это имя не будет определено вне зависимости от порядка следования опций. Опция -D может быть указана несколько раз.
-E
Копировать исходные файлы языка C в стандартный вывод, подставляя результат выполнения всех директив препроцессора; компиляция произведена не будет.
-g
Генерировать символьную информацию в объектных или исполняемых файлах.
-I каталог
Добавить в алгоритм поиска заголовков с именами, не являющимися абсолютными путями, поиск в заданном каталоге до поиска в обычных местах. Так, поиск заголовков, помещённых в двойные кавычки ("") будет производиться сначала в каталоге файла со строкой #include, затем в каталогах, указанных опциями -I, и наконец в обычных местах. Для заголовков, чьи имена помещены в угловые скобки (<>), поиск заголовков будет произведён лишь в каталогах, указанных опциями -I, и затем в обычных местах. Поиск по каталогам, указанных опциями -I, будет произведён в порядке их указания. Опция -I может быть указана несколько раз.
-L каталог
Добавить в алгоритм поиска библиотек, названных в объектах -l, поиск в заданном каталоге до поиска в обычных местах. Поиск по каталогам, указанных опциями -L, будет произведён в порядке их указания. Опция -L может быть указана несколько раз.
-o выходной_файл
Использовать путь выходной_файл, вместо стандартного a.out, для получаемого исполняемого файла.
-O
Оптимизировать компиляцию.
-s
Генерировать объектные и/или исполняемые файлы, из которых удалена символьная и прочая информация, ненужная для правильного исполнения.
-U имя
Удалить какое-либо начальное определение заданного имени. Опция -U может быть указана несколько раз.

Операнд принимается либо в форме пути, либо в форме библиотеки -l. Необходимо указать хотя бы один операнд в форме пути. Поддерживаются операнды следующих типов:

  • file.c Исходный файл языка C для компиляции и возможной компоновки. Операнд должен быть в этой форме, если указанаопция -c.
  • file.a Библиотека объектных файлов, произведённая ar(1), передаваемая напрямую компоновщику.
  • file.o Объектный файл, произведённый c89 -c и передаваемый напрямую компоновщику.
  • -l library Искать библиотеку под названием liblibrary.a. Поиск библиотеки будет произведён, когда встретится её имя, поэтому положение операнда -l имеет значение.

СМОТРИ ТАКЖЕ
ar(1), c99(1), cc(1)
программное обеспечения unix