Как скачать и установить lint?

Кто-нибудь знает, как получить lint для Mac, Windows и Linux? sudo port install lint не могу найти.


person mcandre    schedule 30.07.2011    source источник
comment
Lint довольно стар, и почти все, о чем раньше предупреждал lint, теперь покрывается реальными предупреждениями компилятора. Возможно, вы захотите попробовать что-то современное, например Cppcheck (который отлично подходит и для программ на C).   -  person Greg Hewgill    schedule 30.07.2011
comment
Возможно, вам придется включить оптимизацию, чтобы получить практически все, о чем предупреждает lint». Без оптимизации компилятор может пропустить анализ, который обнаружит проблемы, о которых он может предупредить.   -  person luser droog    schedule 30.07.2011
comment
@GregHewgill, Cppcheck доступен только в Windows? Если да, то есть ли альтернативы Linux?   -  person gokul_uf    schedule 08.03.2016
comment
@Gokul_uf: Конечно нет, просто скачайте архив с исходным кодом с sourceforge или клонируйте проект с github. Cppcheck работает практически на любой платформе, которая может компилировать код C++.   -  person Greg Hewgill    schedule 08.03.2016
comment
@гокул_уф sudo apt-get install cppcheck   -  person arainchi    schedule 05.05.2017


Ответы (2)


Из часто задаваемых вопросов о шине:

Splint поддерживает большинство, но не все расширения C99 для ANSI C.

Это означает, что шина, увы, не то же самое, что ворс. У меня был личный опыт работы с шиной на таких фрагментах кода:

for (int i; i < 100; i++)
    /* Run code */

Поскольку объявление переменной внутри заголовка цикла for не разрешено до C99, как в этом примере, splint будет жаловаться на это. Следовательно, я все еще ищу хорошую альтернативу шине для Ubuntu.

person gustafbstrom    schedule 12.09.2013
comment
должно быть for (int i=0; i < 100; i++) /* Run code */ - person arainchi; 04.05.2017
comment
@arainchi Для примера и во избежание путаницы, на мой взгляд, здесь следует опустить определение. Проблема заключается в объявлении переменной. - person gustafbstrom; 04.05.2017

Я видел lint только для BSD. Однако есть splint, переписанный GPL lint, и он доступен в большинстве дистрибутивов Linux.

person Antti    schedule 30.07.2011
comment
В Mavericks splint жалуется на osd.c:519:3: error: unknown type name '__pid_t'; did you mean 'pid_t'? __pid_t pid = getpid (); ^~~~~~~ pid_t /usr/include/sys/_types/_pid_t.h:30:31: note: 'pid_t' declared here typedef __darwin_pid_t pid_t; ^ 1 error generated. во время этапа компиляции/создания. Измените эту строку на pid_t pid = getpid (); для компиляции/создания в OS X Mavericks. - person Agi Hammerthief; 03.10.2014