Как узнать, присутствует ли функция в файле cpp с помощью cppcheck? - PullRequest
0 голосов
/ 18 декабря 2018

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

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

Ответы [ 3 ]

0 голосов
/ 20 декабря 2018

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

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

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

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

Глава 12.

0 голосов
/ 24 декабря 2018

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

from file in Files where file.ChildMethods.Where(m=>m.Name=="a").Count()==0 select file
0 голосов
/ 18 декабря 2018

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

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

...