Как узнать, присутствует ли функция в файле cpp с помощью cppcheck?

Я хотел выяснить, реализован ли в файле cpp определенная функция.

Например, если () присутствует в файле cpp. Как мне написать правило для этого? Я хочу это бросить исключение, если его нет.

3 ответа

Инструменты статического анализа кода не используются для поиска ошибок компиляции или компоновки.

Если функция или метод 'a` не объявлены и не определены, компилятор или компоновщик сообщит вам - вы получите ошибку.

Если CppCheck не может обнаружить такую ​​проверку, вы можете попробовать CppDepend и его язык запросов кода CQLinq для создания ваших собственных правил.

from file in Files where file.ChildMethods.Where(m=>m.Name=="a").Count()==0 select file

Я разработчик Cppcheck.

Cppcheck имеет "правила" и "аддоны". "Правило" выполняется с помощью "--rule". С "правилом" вы не можете проверить это, насколько я вижу.

С помощью "аддона" вы можете определенно реализовать это. Хорошее начало - циклический просмотр списка областей. Если вы видите область функции для "a()", вы можете увидеть, где находится тело области.

Вы можете прочитать больше об аддонах в руководстве по cppcheck. http://cppcheck.sourceforge.net/manual.pdf

Глава 12

Другие вопросы по тегам