Как исключить путь пакета 'TI' из Pc-lint?

Я использую PC-Lint на ПК с Windows (платформа).

Я выполняю свой код, но получаю это сообщение об ошибке / предупреждение, и после некоторого процента выполнения мой код дает сбой. Все ошибки связаны только с линтированием.

Предупреждения:

C: \ Program Files \ Texas Instruments \ ndk_x_xx_xx_xxx \ packages \ ti \ ndk \ inc \ usertype.h (118): Примечание 960: Нарушает MISRA 2004, требуется правило 10.6, для целочисленных литералов без знака требуется суффикс 'U'

C:\Program Files\Texas Instruments\ndk_x_xx_xx_xxx\packages\ti\ndk\inc\usertype.h(145): Примечание 960: Нарушает MISRA 2004, требуется правило 10.6, для целочисленных литералов без знака требуется суффикс 'U'

C:\Program Files\Texas Instruments\ndk_x_xx_xx_xxx\packages\ti\ndk\inc\socket.h(53): Примечание 960: Нарушает MISRA 2004, требуется правило 10.6, для целочисленных литералов без знака требуется суффикс 'U'

C:\Program Files\Texas Instruments\ndk_x_xx_xx_xxx\packages\ti\ndk\inc\socket.h(159): Примечание 970: Использование модификатора или типа int вне определения типа [Правило 6.3 MISRA 2004] ......

Так как я не могу изменить этот пакет ndk. Поэтому я хочу исключить эти файлы из моего процесса линтинга... Я получил несколько старых ответов из переполнения стека, но они связаны с исходными файлами, а не с заголовочными файлами.

У меня проблема с заголовочными файлами, такими как usertype.h, socket.h и т. Д., И т. Д. Я попытался добавить опцию -efile(960,usertype.h) в мой файл lint.lnt, но проблема все еще была.

Можете ли вы сказать мне решение для этого???

-Ashwin

1 ответ

Если вы получаете предупреждения с номерами 900 и выше, вы работаете на уровне предупреждений 4, который слишком высок для нормальной работы. Я бы начал с уровня предупреждения 1 (только синтаксис) и убедился, что все работает правильно. Затем вы можете увеличить значение до 2 или 3 и выборочно включить некоторые индивидуальные предупреждения в диапазоне 900+ и / или 1900+.

Чтобы пропустить определенные части в процессе проверки, просто удалите исходные файлы c/ C++ из конфигурации или командной строки. Но не забудьте сохранить каталоги как включающие каталоги, так как другие файлы должны будут включать эти заголовки интерфейса.

Опция -efile не предназначен для подавления предупреждений в файле, а скорее для подавления предупреждений о файле. Подробности смотрите в описании опции в руководстве.

Способ ограничения предупреждений в исходном коде, за который вы не несете ответственности, заключается в объявлении этого исходного кода "библиотеками". Вся глава 6 руководства PC-Lint посвящена этой теме. Вы можете начать с -wlib(1) использовать уровень предупреждения 1 (только синтаксис) для библиотечных файлов, а затем определить, что вы хотите считать библиотечными файлами с +libclass, +-libdir, а также +-libh опции. И если вы хотите увидеть, считается ли определенный включаемый файл заголовком "библиотеки", запустите PC-Lint с опцией -vf,

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