我最近阅读了一些关于 crc 计算的论文和代码(例如A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS和Linux 中的实现)。据我了解,crc 是从某个地址开始逐字节完成的。
来自 Linux 内核的示例:
u16 crc16(u16 crc, u8 const *buffer, size_t len)
{
while (len--)
crc = crc16_byte(crc, *buffer++);
return crc;
}
Run Code Online (Sandbox Code Playgroud)
现在我问自己是否可以使用struct?