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) 上面代码中的“&”运算符是什么意思?
最佳答案
这是bitwise and operator 。这意味着操作的结果是执行两个操作数的二进制 and
,但是是逐位(即按位方式)。
在本例中,它检查 Present 指向的内存的第一位是否为 0。
关于c - C 和 mmap() 中 & 代表什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14928972/