uint8_t, uint16_t и uint32_t не распознаются в PCLint - PullRequest
0 голосов
/ 28 февраля 2019

При запуске PCLint на базе кода кажется, что типы данных uint8_t, uint16_t и uint32_t не распознаются.Например:

uint8_t variable1 = 0;

Следующие ошибки получены от Lint:

129: declaration expected, indentifier 'uint8_t' ingnored
129: declaration expected, indentifier 'variable1' ingnored
10: Expecting identifier or other declarator
19: Useless declaration

Все, что использует 'variable1', отображаются следующие ошибки:

40: Undeclared identifier 'variable1'
63: Expected an lvalue

Есть идеи?

1 Ответ

0 голосов
/ 12 мая 2019

Возможные причины, по которым PC-Lint не может распознать uint8_t, uint16_t и uint32_t:

  1. #include <stdint.h> отсутствует в файле исходного кода

    PC-Lint анализирует ваш код как «дампест» компилятор.Чтобы узнать о целочисленных типах с фиксированной шириной, определенных C99, необходимо включить соответствующий заголовочный файл.Это может быть <stdint.h> или <inttypes.h>.Некоторые компиляторы могут знать о целочисленных типах фиксированной ширины даже без включения этих заголовочных файлов.

  2. Заголовок <stdint.h> не может быть найден PC-Lint

    PC-Lint оценивает ваш код независимо от вашего конкретного компилятора.Тем не менее, он не имеет собственного набора стандартных заголовков.Поэтому ему нужно знать, где он найдет системные заголовки, такие как <stdint.h> в вашей файловой системе (обычно это путь установки компилятора).Обычно это делается путем предоставления файла конфигурации для конкретного компилятора (например, co-gcc.lnt) в командной строке.Gimpel Software (авторы PC-Lint) предоставляют большой набор этих файлов на своем веб-сайте: https://gimpel.com/html/ptch90.htm

...