我试图让这段代码工作,从这里
char *mem = (unsigned char *) 0xF0000;
int length, i;
unsigned char checksum;
while ((unsigned int) mem < 0x100000) {
if (mem[0] == '_' && mem[1] == 'S' && mem[2] == 'M' && mem[3] == '_') {
length = mem[5];
checksum = 0;
for(i = 0; i < length; i++) {
checksum += mem[i];
}
if(checksum == 0) break;
}
mem += 16;
}
有一些类型错误,例如不能用 unsigned char* 初始化 char*。
当我尝试char *
用unsigned char *
int 第一行替换时,我不能使用 [] 表示法,我该如何使用memcmp
这段代码?