Как исключить конкретный путь пакета «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' вне typedef [MISRA 2004 Правило 6.3] ... ...

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

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

Подскажите, пожалуйста, решение для этого???

-Эшвин


person Ashwin    schedule 09.01.2014    source источник
comment
Либо удалите каталог из командного файла PC-Lint, либо посмотрите, может ли PC-Lint игнорировать отдельные файлы.   -  person Thomas Matthews    schedule 09.01.2014
comment
Я пропустил эти библиотеки, выполнив следующие изменения в моих файлах cmake: }) из-за ADD_LIBRARY я могу пропустить библиотеку ti, а также некоторые файлы .cpp, которые не требуется анализировать в процессе анализа..   -  person Ashwin    schedule 10.01.2014


Ответы (1)


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

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

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

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

person Johan Bezem    schedule 25.02.2014