这是我的函数声明。使用 Visual Studio 2010 C++ 时出现未解决的外部错误。
bool CheckCrcByte(const CHAR_t* pbData, UINT32_t lLength, UINT32_t lMsgCrc)
{
bool FlagPass;
UINT32_t lCalcCrc;
UINT32_t lInitCrc = 0;
lCalcCrc = ~lInitCrc;
CHAR_t* bCurrent = (CHAR_t*) pbData;
while (lLength-- > 0)
{
lCalcCrc = (lCalcCrc >> 8) ^ crc_TABEL[(lCalcCrc & 0xFF) ^ *bCurrent++];
}
lCalcCrc = ~lCalcCrc;
if (lMsgCrc == lCalcCrc)
{
FlagPass = true;
}
else
{
FlagPass = false;
}
return FlagPass;
}