我的问题是,我有下一个计算CRC的C代码:
#define BYTE unsigned char // 8 bits
#define WORD unsigned int // 16 bits
#define CRC_POLINOM 0xA001
WORD calcul_crc (BYTE *msg, int lng) {
WORD crc16, retenue;
int i, j;
for (i = 0, crc16 = 0xffff; i < lng; i++, msg++) {
crc16 ^= (WORD) (*msg);
for (j = 0; j < 8; j++) {
retenue = crc16 & 0x0001;
crc16 >>= 1;
if (retenue != 0)
crc16 ^= CRC_POLINOM;
}
}
return ( crc16 );
}
但是我无法运行C代码,我需要在Java中实现它。我试过使用JNI(有很多问题,我在windows上),从Internet上寻找实现代码......但都失败了。
任何帮助请