2011-07-30 15 views
16

Czy ktoś wie, jak uzyskać kłaczki dla komputerów Mac, Windows i Linux? sudo port install lint nie można go znaleźć.Jak mogę pobrać i zainstalować lint?

+4

Lint jest dość stary, a prawie wszystko, do czego lint służy do ostrzeżenia, jest teraz objęte ostrzeżeniami kompilatora. Możesz spróbować czegoś nowoczesnego, takiego jak [Cppcheck] (http://cppcheck.sourceforge.net/) (który sprawdza się również w programach C). –

+2

Może być konieczne włączenie optymalizacji, aby uzyskać "prawie wszystko, czego lint używał do ostrzeżenia". Bez optymalizacji kompilator może pominąć analizę, która wykryje problemy, o których może ostrzegać. –

+0

@GregHewgill, czy narzędzie Cppcheck jest dostępne tylko w systemie Windows? Jeśli tak, to sugerowane alternatywy dla Linuksa? –

Odpowiedz

3

Od szyny FAQ:

Splint supports most, but not all, of the C99 extensions to the ANSI C.

Oznacza to, że szyna jest niestety nie takie same jak szarpie. Miałem osobiste doświadczenia z systemem szyny na kawałki kodu tak:

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

W deklaracji zmiennej wewnątrz pętli for nagłówku nie jest dozwolone do C99, tak jak w tym przykładzie, szyna będzie narzekać na ten temat. Dlatego wciąż szukam dobrej alternatywy dla szyny dla Ubuntu.

+1

powinno być 'for (int i = 0; i <100; i ++) /* Kod uruchomienia * /' – arainchi

+0

@arainchi Dla przykładu i dla uniknięcia pomyłki, definicja powinna zostać pominięta tutaj w moim opinia. To jest deklaracja zmiennych, która jest problemem. – gustafbstrom

11

Widziałem tylko szarpie dla BSD. Istnieje jednak splint, ale przepisanie GPL lint i jest dostępne w większości dystrybucji Linuksa.

+0

Szyfrowanie jest niesamowite! – mcandre

+1

Na Mavericks, 'szyna' narzeka na 'osd.c: 519: 3: error: nieznany typ nazwy '__pid_t'; czy masz na myśli" pid_t "? __pid_t pid = getpid(); ^ ~~~~~~ pid_t pid_t /usr/include/sys/_types/_pid_t.h:30:31: uwaga: tutaj podano "pid_t" typedef __darwin_pid_t pid_t; ^ 1 wygenerowany błąd. "Podczas kompilacji/wykonania kroku. Zmień tę linię na 'pid_t pid = getpid();', aby skompilować/wykonać na OS X Mavericks. –

Powiązane problemy