Comments 18
Похоже в Amazon разработчики уже разучились нормально писать на Си.
Если приводимые структуры имеют одинаковое выравнивание – значит, такое приведениене является ошибкой. И я не нашел ни одного опасного приведения!
Тут пропала частица «не» или я тупой?
Так как встроенный булев тип в языке Си отсутствует, то для удобства определяют вот такие константы:
А как же тип _Bool?!
GGribkov, извините за оффтоп.
А может ли PVS-Studio помочь с оптимизацией заголовочных файлов? И, как следствие, со временем и качеством (пере)сборки.
Обнаружить недостающие
1.1 Безусловно — без них не проходит минимальная компиляция #include + main()
1.2 Условно 1 — без них проходит минимальная компиляция #include + main(), но, например, необъявленный класс используется в макросе или шаблоне
1.3 Условно 2 — без них не проходит минимальная компиляция #include + main(), но вместо #include можно обойтись предварительным объявлением (forward declaration)
Обнаружить лишние:
2.1 Безусловно — без них проходит минимальная компиляция #include + main()
2.2 Условно 1 — без них проходит минимальная компиляция #include + main(), но необъявленный класс используется в макросе или шаблоне
2.3 Условно 2 — без них не проходит минимальная компиляция #include + main(), но #include можно заменить предварительным объявлением (forward declaration)
А эта фунциональность кажется вам интересной? Полезной? Осуществимой?
- А может быть вам известны реализации подобного?
Большинство (?) диагностик PVS-Studio не имеют 100% точности, так что это ещё не причина умывать руки :)
Удалять и не надо. Либо пользователь отметит это предупреждение как false positive, либо, если возможно, добавит вокруг что-то вроде #if[n]def _DEBUG
Когда-то, лет 15 назад, для проекта с ~1000 headers я написал скрипт, который нашел минимальный набор (в самом грубом приближении) перебором — просто удаляя и добавляя #include и пробуя компилировать с пустым main(). Тогда, емнип, время сборки уменьшилось на ~20%, и размеры на ~10%. С вашей базой можно добиться куда большего ;)
В общем, может эта идея и пригодится когда-нибудь.
По заказам Embedded-разработчиков: ищем ошибки в Amazon FreeRTOS