int fd = open("/dev/mem", O_RDWR);
present = (unsigned char *)mmap(0,
getpagesize(),
PROT_READ|PROT_WRITE,
MAP_SHARED,
fd,
0x22400000);
if ((*present & 1) == 0)
{
printf("Converter not present\n");
exit(1);
}
1)'&'是什么运算符在前面的代码中是什么意思?
答案 0 :(得分:4)
这是bitwise and operator。这意味着操作的结果是执行两个操作数的二进制and
,但是逐位(以按位方式),即
在这种情况下,它检查当前指向的内存的第一位是否为0.