PC-Lint рассматривает заголовок как заголовок библиотеки

Используя PC-Lint, я пытаюсь сделать заголовочный файл обработанным как заголовок библиотеки, чтобы я мог подавлять сообщения из него. Я использую опцию модуля библиотеки +libm(module.c) который должен обрабатывать module.c как библиотечный модуль, а любые заголовки, которые он включает (например, module.h), как библиотечные заголовки, как описано в разделе 6.1 руководства PC-Lint для v9.00. Естественно, module.h также включен в мои исходные файлы, которые не являются библиотечными модулями.

Проблема в том, что когда я собираю код, я все равно получаю сообщения от module.h, хотя я и предоставил +libm(module.c) вариант. Я подозреваю, что это потому, что файл module.h включен в мои другие небиблиотечные модули. Но такая ситуация является типичным случаем использования, и это делает это +libm вариант бесполезный. Я знаю, что мог бы использовать +libh(module.h) или же +libdir(...) но я хочу +libm(module.c) работать правильно для меня. Какие-либо предложения?

1 ответ

Это не представлено так в руководстве, но мой опыт показывает, что не все заголовочные файлы, включенные модулем библиотеки, считаются библиотекой. Они не могут быть: что, если модуль включает в себя ваши собственные файлы заголовков, файлы заголовков, которые вы хотите явно обработать?

Используйте опцию Lint -vf (Внимание: большой вывод!), чтобы увидеть, как Lint интерпретирует ваши заголовочные файлы. Библиотечные файлы обозначены как таковые. Недостающие можно добавить с помощью обычного -lib* опция установлена.

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