没有覆盖的 >> 运算符。这是相关的 C++ 代码片段:
[Function signature: const unsigned char *src, int len, char *dst]
unsigned short *sdst = (unsigned short*) dst;
unsigned short *slt = (unsigned short*) lookup_ext;
while (len >= 3) {
unsigned int value = *src++ << 16;
value |= *src++ << 8;
value |= *src++;
cout << value << endl;
*sdst++ = slt[value >> 12];
*sdst++ = slt[value & 0x00000FFF];
cout << sizeof(unsigned short) << endl << slt[value >> 12] << endl << slt[value & 0x00000FFF] << endl;
len -= 3;
}
cout 用于狼栅栏调试。
输出:
6844268 | cout << value
2 | sizeof(unsigned short)
18273 | slt... Ohhhh sneaky. I mis-pasted that, nevermind - it's an slt issue [Output's the same now]
29497