【发布时间】:2014-02-25 08:15:01
【问题描述】:
在linux的open系统调用中,flags中的bitwise OR是什么意思。编译器如何解释它。这是一个例子:
fd = open("myfile", O_RDONLY | O_CREAT | O_TRUNC, S_IRUSR);
另外,逗号运算符在标志中的作用是什么?
更新:如果我们使用&&运算符,使用其他运算符会有什么影响
【问题讨论】:
-
这不是逗号运算符 - 它是分隔标志参数和模式参数的逗号。
-
您的问题在这里得到了详细解答:man7.org/linux/man-pages/man2/open.2.html
-
我在手册页中看到,它结合了所有标志。但我不明白怎么做?因为如果它结合然后它产生一个int值,那么编译器是如何理解的