【问题标题】:What does & stands for in C and mmap()在 C 和 mmap() 中 & 代表什么
【发布时间】:2013-02-18 03:18:56
【问题描述】:
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) 上面代码中的'&'操作符是什么意思?

【问题讨论】:

  • -1 缺乏研究工作
  • 供将来参考:下次您提出问题时,请确保您表明您已经完成了研究工作,而不是简单地在 SO 上提出问题。您肯定会避免投反对票并获得更多积极的帮助。

标签: c mmap


【解决方案1】:

它是bitwise and operator。这意味着操作的结果是执行两个操作数的二进制and,但逐位(按位方式,即)。

在这种情况下,它正在检查 present 指向的内存的第一位是否为 0。

【讨论】:

    猜你喜欢
    • 2013-04-14
    • 1970-01-01
    • 2011-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多