lint - верификатор C-программ
lint [-a] [-b] [-h] [-u] [-v] [-x] [-l библ] [-n] [-p] [-c] [-o библ] файл ...
Команда lint пытается обнаружить в заданных файлах, содержащих C-программы, конструкции, которые, возможно, являются ошибочными, немобильными или излишними. Более строго, чем при компиляции, выполняется проверка соответствия типов. Среди обнаруживаемых дефектов - недостижимые операторы; циклы, в которые входят не с начала; описанные, но не используемые автоматические переменные; логические выражения с константными значениями. Кроме того, проверяется использование функций и обнаруживаются функции, возвращающие значения в одних местах, но не возвращающие в других; функции, вызываемые с различным числом аргументов или с аргументами разных типов; функции, значения которых не используются, и функции, значения которых не возвращаются, но используются.
Файлы-аргументы, имена которых оканчиваются на .c, считаются исходными C-файлами. Аргументы, имена которых оканчиваются на .ln, считаются результатом предыдущих вызовов lint с использованием опций -c или -o. Файлы .ln аналогичны об ектным (.o) файлам, которые создаются командой , если в качестве входных файлов заданы .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 игнорируются.
Можно указывать произвольное число опций и задавать их в командной строке в любом порядке вперемежку с именами файлов. Следующие опции используются для того, чтобы подавить выдачу некоторых сообщений.
Не выдавать сообщения о присваиваниях long-значений переменным, не специфицированным как long. |
Не выдавать сообщения о недостижимых операторах break. [Программы, сгенерированные при помощи или обычно содержат большое число таких операторов.] |
Не применять набор эвристических тестов, предназначенных для того, чтобы попытаться "поймать" ошибки, улучшить стиль и сделать программу компактнее. |
Не выдавать сообщения о функциях и внешних переменных, используемых, но не определенных или определенных, но не используемых. (Эта опция полезна, когда при обращении к lint задается подмножество файлов, составляющих одну большую программу.) |
Не выдавать сообщения о неиспользуемых параметрах функций. |
Не сообщать о внешних переменных, которые нигде не используются. |
Подключить lint-библиотеку llib lбибл.ln. Если вставить в командную строку -lm, будет подключена lint-версия математической библиотеки llib-lm.ln. Этот аргумент не подавляет использование библиотеки llib-lc.ln. Данные lint библиотеки должны находиться в надлежащем каталоге [см. ниже ФАЙЛЫ]. Опцию можно использовать, чтобы сослаться на локальные lint-библиотеки; она удобна при разработке проектов, состоящих из многих файлов. |
Не проверять совместимость со стандартной или мобильной lint-библиотеками. |
Попытаться проверить возможность переноса на другие диалекты языка C (IBM и GCOS). В сочетании с более строгим контролем данная опция сокращает имена, не являющиеся внешними, до восьми символов, а внешние имена - до шести символов одного размера. |
Если задана эта опция, lint генерирует .ln-файл для каждого .c-файла, указанного в командной строке. Эти .ln-файлы являются результатом только первого прохода программы lint; проверка совместимости функций в них не выполнена. |
Создает lint-библиотеку с именем llib-lбибл.ln. Опция -c отменяет действие опции -o. Созданная lint-библиотека - это файл, который подается на вход второму проходу lint. Действие опции -o заключается в простом сохранении данного файла в указанной lint-библиотеке. Чтобы сформировать библиотеку без посторонних сообщений, следует использовать опцию -x. Опция -v удобна, если исходные файлы для lint-библиотеки состоят из описаний внешних интерфейсов (таким способом, например, создан файл llib-lc). Аналогичный эффект может быть достигнут при помощи "lint-комментариев" (см. ниже). |