2

在我的CRC8.c我有这个功能:

BOOL isCRCValid(const UINT8 *ptr, UINT8 Len, UINT8 CRCChar){
    return CRCChar == generateCRC(ptr, Len); //generareCRC returns a UINT8
}

它在 中声明CRC8.h,但 PC Lint 向我返回以下内容。

Info 714: Symbol 'isCRCValid(const unsigned char *, unsigned char, unsigned
    char)' not referenced
Info 830: Location cited in prior message

帮助说 714 是:

714: Symbol 'Symbol' (Location) not referenced -- 指定的外部变量或外部函数已定义但未引用。此消息在单元检出时被抑制(-u 选项)。

830 是:

830 先前消息中引用的位置——消息 830 是以“规范形式”传达嵌入在某些其他消息中的位置信息的工具。例如,考虑(稍微简化的)消息:

     file x.c line 37:  Declaration for 'x' conflicts with line 22

这包含嵌入在消息文本中的位置(“第 22 行”)。编辑器和 IDE(交互式开发环境)通常无法理解嵌入的位置信息,它们只能定位到标称位置(本例中的第 37 行)。通过在第 22 行的标称位置添加此附加消息,用户可以通过跳到下一条消息,在这种情况下,查看“冲突”的全部内容。此消息和下面的消息 831 不遵循消息抑制的普通规则。如果他们这样做了,那么当使用选项 -w2 将警告级别降低到 2 时,这些消息(级别 3)也会消失。相反,它们继续按预期运行。要抑制它们,您需要使用以下之一显式关闭它们:

         -e830 
         -e831

它们可以通过 +e830 和 +e831 恢复;它们的抑制状态可以通过 -save -restore 选项保存和恢复。-e8* 和 -e{831} 等选项将无效。

由于我是 PC Lint 的新手,以及 C 的相对新手,我无法解决这个问题。

谁能帮我解决这个问题?

4

2 回答 2

6

该消息仅意味着 PCLint 没有找到任何实际使用此功能的东西,因此它可能是死代码/删除候选。

于 2011-09-23T13:25:03.190 回答
0

这也可能意味着您没有在函数中使用输入参数。

于 2016-02-25T16:20:30.570 回答