在PCLint中无法识别uint8_t,uint16_t和uint32_t

时间:2019-02-28 19:06:16

标签: pc-lint

在代码库上运行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 :(得分:0)

PC-Lint无法识别uint8_tuint16_tuint32_t的可能原因:

    您的源代码文件中缺少
  1. #include <stdint.h>

    PC-Lint像“ dumpest”编译器一样解析您的代码。为了了解C99定义的固定宽度整数类型,它需要包含适当的头文件。可以是<stdint.h><inttypes.h>。即使不包含这些头文件,某些编译器也可能知道固定宽度整数类型。

  2. PC-Lint无法找到标头<stdint.h>

    PC-Lint独立于特定的编译器来评估您的代码。但是,它没有带来自己的标准标头集。因此,它需要知道在文件系统中通常会在哪里找到诸如<stdint.h>之类的系统头(通常是编译器安装路径)。这通常是通过在命令行上提供特定于编译器的配置文件(例如co-gcc.lnt)来完成的。 Gimpel Software(PC-Lint的作者)在其网站上提供了大量此类文件:https://gimpel.com/html/ptch90.htm