.\" .\" Copyright (c) 1997 Joerg Wunsch .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" %FreeBSD: src/usr.bin/c89/c89.1,v 1.11 2007/03/10 07:10:01 ru Exp % .\" $FreeBSDru: frdp/doc/ru_RU.KOI8-R/man/man1/c89.1,v 1.3 2007/11/13 11:08:03 ru Exp $ .\" $FreeBSD$ .\" .Dd 17 сентября 1997 .Os .Dt C89 1 .Sh НАЗВАНИЕ .Nm c89 .Nd компилятор языка C в POSIX.2 .Sh СИНТАКСИС .Nm .Op Fl cEgOs .Oo Fl D Ar имя Ns Oo = Ns Ar значение Oc Oc ... .Oo Fl I Ar каталог Oc ... .Oo Fl L Ar каталог Oc ... .Op Fl o Ar выходной_файл .Oo Fl U Ar имя Oc ... .Ar операнд ... .Sh ОПИСАНИЕ Так называется компилятор языка C, как того требует стандарт .St -p1003.2 . .Pp Компилятор .Nm принимает следующие опции: .Bl -tag -width indent .It Fl c Подавить компоновочную фазу компиляции и не удалять никакие полученные объектные файлы. .It Fl D Ar имя Ns Op = Ns Ar значение Определить имя, как если бы это была директива .Ic #define языка C. Если .Dq = Ns Ar значение не задано, будет использовано значение 1. Заметьте, что для выполнения трансляции по стандарту .St -p1003.2 необходимо определить .Dv _POSIX_SOURCE либо в исходном тексте, либо используя эту опцию. Приоритет опции .Fl D меньше, чем у опции .Fl U . Так, если .Ar имя используется сразу в функциях .Fl U и .Fl D , это .Ar имя не будет определено вне зависимости от порядка следования опций. Опция .Fl D может быть указана несколько раз. .It Fl E Копировать исходные файлы языка C в стандартный вывод, подставляя результат выполнения всех директив препроцессора; компиляция произведена не будет. .It Fl g Генерировать символьную информацию в объектных или исполняемых файлах. .It Fl I Ar каталог Добавить в алгоритм поиска заголовков с именами, не являющимися абсолютными путями, поиск в заданном каталоге до поиска в обычных местах. Так, поиск заголовков, помещённых в двойные кавычки .Pq Qq будет производиться сначала в каталоге файла со строкой .Ic #include , затем в каталогах, указанных опциями .Fl I , и наконец в обычных местах. Для заголовков, чьи имена помещены в угловые скобки .Pq Aq , поиск заголовков будет произведён лишь в каталогах, указанных опциями .Fl I , и затем в обычных местах. Поиск по каталогам, указанных опциями .Fl I , будет произведён в порядке их указания. Опция .Fl I может быть указана несколько раз. .It Fl L Ar каталог Добавить в алгоритм поиска библиотек, названных в объектах .Fl l , поиск в заданном каталоге до поиска в обычных местах. Поиск по каталогам, указанных опциями .Fl L , будет произведён в порядке их указания. Опция .Fl L может быть указана несколько раз. .It Fl o Ar выходной_файл Использовать путь .Ar выходной_файл , вместо стандартного .Pa a.out , для получаемого исполняемого файла. .It Fl O Оптимизировать компиляцию. .It Fl s Генерировать объектные и/или исполняемые файлы, из которых удалена символьная и прочая информация, ненужная для правильного исполнения. .It Fl U Ar имя Удалить какое-либо начальное определение заданного имени. Опция .Fl U может быть указана несколько раз. .El .Pp Операнд принимается либо в форме пути, либо в форме библиотеки .Fl l . Необходимо указать хотя бы один операнд в форме пути. Поддерживаются операнды следующих типов: .Bl -tag -offset indent -width ".Fl l Ar library" .It Ar file Ns Pa .c Исходный файл языка C для компиляции и возможной компоновки. Операнд должен быть в этой форме, если указана опция .Fl c . .It Ar file Ns Pa .a Библиотека объектных файлов, произведённая .Xr ar 1 , передаваемая напрямую компоновщику. .It Ar file Ns Pa .o Объектный файл, произведённый .Nm Fl c и передаваемый напрямую компоновщику. .It Fl l Ar library Искать библиотеку под названием .Pa lib Ns Ar library Ns Pa .a . Поиск библиотеки будет произведён, когда встретится её имя, поэтому положение операнда .Fl l имеет значение. .El .Sh СМОТРИ ТАКЖЕ .Xr ar 1 , .Xr c99 1 , .Xr cc 1 .Sh СТАНДАРТЫ Предполагается, что утилита .Nm соответствует стандарту .St -p1003.2 .