我很惊讶地发现了termios.h的宏定义之间的差异
在RHEL或Centos 7上,我有(也是令人困惑的八进制)值
#define PARENB 0000400
#define PARODD 0001000
关于其他来源,我们看到了
#define PARENB 0x00001000 /* parity enable */
#define PARODD 0x00002000 /* odd parity, else even */
对于PARENB 0x1000 = 4096 = 10000octal,这不是0000400
我认为在所有平台/发行版上都是一样的(除了32位/ 64位的区别)。
为何如此差异?我们可以错误地使用一个而不是另一个吗?有历史原因吗?