中国开发网: 论坛: 程序员情感CBD: 贴子 246353
bjwf
可以肯定的是,你这个不会比这个快.
/* ========================================================================= */
#define DO1(buf) crc = crc_table[((unsigned long)crc ^ (*buf++)) & 0xff] ^ (crc >> 8);
#define DO2(buf) DO1(buf); DO1(buf);
#define DO4(buf) DO2(buf); DO2(buf);
#define DO8(buf) DO4(buf); DO4(buf);

/* ========================================================================= */
unsigned long crc32(unsigned long crc, const char * buf, int len)
{
if (buf == NULL)
{
return 0L;
}
crc = crc ^ 0xffffffffL;
while (len >= 8)
{
DO8(buf);
len -= 8;
}
if (len) do {
DO1(buf);
} while (--len);
return crc ^ 0xffffffffL;
}

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录