Chciałbym zobaczyć mały, ale kompletny fragment kodu, który spowoduje, że narzędzie statyczne Clanga będzie narzekać. Moja motywacja polega głównie na tym, że staram się zmusić go do pracy nad moim kodem PIC32, i potrzebuję sposobu na rozróżnienie między "całym kodem jest w porządku" i "w rzeczywistości nic nie robi". Jest to również po części ciekawość, ponieważ sam nie potrafię wymyślić prostego przykładu.Przykładowy kod wyzwalający analizator statyczny Clanga
C89/ANSI lub C99 jest w porządku, a najlepiej, jeśli chciałbym, aby wykrył prosty wyciek pamięci. Moja użycie jest
clang --analyze test.c
Czy praca, dzięki :) Muszę powiedzieć, że wymyśliłem najbardziej oczywiste i najbardziej twórcze krwawe wycieki pamięci, jakie mogłem wymyślić, i pozwoliłbym wszystkim przejść. Najwyraźniej wie wystarczająco dużo, aby wiedzieć, że testowałem to. – detly
@detly: było zabawne, nauczyłem się krzyczeć przez to :) dla mojej ciekawości czym są przecieki w kontekście analizy statycznej? –
Cóż, nie jestem w 100% pewny, ale miałem wrażenie, że wiele narzędzi do analizy statycznej, w tym klang, może wykryć potencjalne problemy z pamięcią w czasie pracy (takie jak 'p = malloc (...); p = q;') . Mogę się mylić. – detly