Главная > Операционные системы > UNIX LINT(1)НАЗВАНИЕ СИНТАКСИС lint [-a] [-b] [-h] [-u] [-v] [-x] [-l библ] [-n] [-p] [-c] [-o библ] файл ... ОПИСАНИЕ Файлы-аргументы, имена которых оканчиваются на .c, считаются исходными C-файлами. Аргументы, имена которых оканчиваются на .ln, считаются результатом предыдущих вызовов lint с использованием опций -c или -o. Файлы .ln аналогичны об ектным (.o) файлам, которые создаются командой cc(1), если в качестве входных файлов заданы .c файлы. Файлы с другими расширениями игнорируются с выдачей предупреждения. Программа lint обрабатывает все .c, .ln и llib-lбибл.ln (заданные указанием -l библ) файлы в том порядке, в котором они перечислены в командной строке. По умолчанию lint подсоединяет к концу списка файлов свою стандартную библиотеку C-программ llib-lc.ln. Однако, если используется опция -p, вместо стандартной подсоединяется мобильная C-библиотека программы lint llib-port.ln. Если опция -c не указана, второй проход lint проверяет этот список файлов на взаимную совместимость. В случае задания опции -c файлы .ln и llib-lбибл.ln игнорируются. Можно указывать произвольное число опций и задавать их в командной строке в любом порядке вперемежку с именами файлов. Следующие опции используются для того, чтобы подавить выдачу некоторых сообщений.
Следующие аргументы изменяют поведение программы lint:
Распознаются также опции -D, -U, -I команды cpp(1) и опции -g, -O команды cc(1), если они заданы в виде отдельных аргументов. Опции -g и -O игнорируются, однако сама возможность их задания делает поведение команды lint в большей мере похожим на cc(1). Остальные опции игнорируются с предупреждающими сообщениями. Определен символ препроцессора lint, что позволяет изменять или делать невидимыми для lint некоторые сомнительные фрагменты программы. Поэтому lint следует рассматривать как зарезервированное ключевое слово во всех программах, которые предполагается проверять при помощи lint. На поведение программы lint влияют некоторые специальные комментарии в тексте исходной C-программы:
Во время первого прохода lint обрабатывает исходные файлы по одному. Сообщения, касающиеся включаемых файлов, накапливаются и печатаются после того, как обработаны все исходные файлы. Затем, если не указана опция -c, собранная информация о всех исходных файлах об единяется и используется для проверки их взаимной совместимости. При этом, если не ясно, относится ли сообщение к исходному файлу или к одному из включенных в него файлов, печатается помеченное вопросительным знаком имя исходного файла. Опции -c и -o позволяют для набора исходных C-файлов использовать lint в инкрементальном режиме. Обычно для обработки каждого исходного файла пользователь вызывает программу lint с опцией -c. Каждый из этих вызовов формирует .ln-файл, соответствующий .c-файлу, и печатает все сообщения об исходном файле. После того, как все исходные файлы по отдельности обработаны при помощи lint, lint вызывается еще раз (уже без опции -c) с указанием списка всех .ln-файлов и необходимых опций вида -l библ. Данный вызов lint печатает сообщения о всех межфайловых несоответствиях. Такая схема удобна в соединении с использованием make(1); make может инициировать обработку только измененных исходных файлов. ФАЙЛЫ LLIBDIR Каталог, в котором должны нахо- диться lint-библиотеки, укзанные при помощи опции -lбибл. Обычно это /usr/lib. LLIBDIR/lint[12] Программы для первого и второго проходов lint. LLIBDIR/llib-lc.ln Описания библиотечных C-функций в двоичном формате; исходный текст - в LLIBDIR/llib-lc). LLIBDIR/llib-port.ln Описания мобильных функций в дво- ичном формате; исходный текст - в LLIBDIR/llib-port). LLIBDIR/llib-lm.ln Описания математической библиоте- ки в двоичном формате; исходный текст - в LLIBDIR/llib lm). TMPDIR/*lint* Временные файлы. Обычно каталог TMPDIR - это /usr/tmp, однако данное соглашение можно изменить, присвоив переменной окружения TMPDIR другое значение [см. tempnam( ) в tmpnam(3S)]. СМ. ТАКЖЕ СЮРПРИЗЫ Главная > Операционные системы > UNIX |