gcc中不等号的使用
write = (vma->vm_flags & VM_WRITE) != 0;
请问这段代码什么意思呀?不等号!= 只有在条件测试时才会用呀,这里怎么用来赋值了?
[解决办法]
(vma->vm_flags & VM_WRITE) != 0是一个表达式,值是true或者false
赋值给变量没问题啊。
[解决办法]
!=优先级高于=,(vma->vm_flags & VM_WRITE) != 0的返回值赋值true或者false给write
[解决办法]
write = ((vma->vm_flags & VM_WRITE) != 0);
//这样看清楚点
//write取它们的比较结果! 也是表达式来的!