cppcheck: определения функций в заголовках

Я пытаюсь добавить правило в cppcheck для определений функций (вне класса или без встроенных), которые находятся в .h / .hpp.

Похоже, это невозможно без входа в исходный код cppcheck или без отдельной обработки заголовков, правда?


person user2043854    schedule 31.05.2018    source источник
comment
Пожалуйста, напишите код. Чем отличается .h файл от любого другого .cpp файла?   -  person Ripi2    schedule 31.05.2018
comment
@ Ripi2 Думаю, вполне понятно, чего хочет OP. Просто избегайте определений функций в заголовочном файле, которые не объявлены встроенными. Пока заголовок используется только после того, как компоновщик не увидит никаких проблем, но, возможно, иногда позже второе включение приведет к сбою сборки. Поэтому рекомендуется проверить это до того, как заголовок начнет использоваться.   -  person Klaus    schedule 31.05.2018
comment
@Klaus CPPCHECK довольно старый. Он был разработан просто (например, с помощью макросов). Я указываю на эту простоту. Я не думаю, что его можно использовать так же, как с обычными файлами для большого приложения.   -  person Ripi2    schedule 31.05.2018
comment
@ Ripi2: Я только сказал, что это хорошая идея, и для меня было ясно, что OP хочет проверить. Этот cppcheck, возможно, неправильный инструмент, может быть и правильным, но не был частью моего комментария;)   -  person Klaus    schedule 31.05.2018
comment
Спасибо! Я не понимал, что могу использовать include guard.   -  person user2043854    schedule 31.05.2018


Ответы (1)


Извините за поздний ответ. Это правда, что вы не можете создать rule, которым управляет --rule. Но вы можете создать addon .. python-скрипт, который считывает XML-вывод, сгенерированный --dump. См. Руководство для получения дополнительной информации о надстройках.

person Daniel Marjamäki    schedule 06.04.2019