[求助]一个CRC校验程序 麻烦改改错
CRC校验程序 麻烦帮忙解释一下或该该错?谢谢!
下面这个是计算CRC32参数表的程序在网上找的 没看明白? 还有很多错
#include <stdio.h>
unsigned long int crc32_table[256];
unsigned long int ulPolynomial = 0x04c11db7;
unsigned long int Reflect(unsigned long int ref, char ch)
{
unsigned long int value(0); /*错误:函数定义位置不正确在Reflect函数中*/
/* 交换bit0和bit7,bit1和bit6,类推 */
for(int i = 1; i < (ch + 1); i++) /*错误:表达式语法错在Reflect函数中*/
{
if(ref & 1)
value |= 1 << (ch - i);
ref >>= 1;
}
return value;
}
init_crc32_table()
{
unsigned long int crc,temp;
/*256个值 */
for(int i = 0; i <= 0xFF; i++) /*错误:未定义的符号“i”在init_crc32_table函数中,表达式语法错在init_crc32_table函数中*/
{
temp=Reflect(i, 8);
crc32_table[i]= temp<< 24;
for (int j = 0; j < 8; j++)
{
unsigned long int t1,t2;
unsigned long int flag=crc32_table[i]&0x80000000;
t1=(crc32_table[i] << 1);
if(flag==0)
t2=0;
else
t2=ulPolynomial;
crc32_table[i] =t1^t2 ;
}
crc=crc32_table[i];
crc32_table[i] = Reflect(crc32_table[i], 32);
}
}