我希望实现的目标是:我想为一些类似于
操作方法: 到目前为止,我找到的唯一方法是使用位于
我的解决方案到目前为止非常有效,但现在我需要使用一些函数:
问题在于
如何解决这个问题,而不使用一些晦涩难懂的做法(比如像 这里 提到的将其中一个头文件放入命名空间)?
tty*
的UART
映射终端设置自定义波特率
值。操作方法: 到目前为止,我找到的唯一方法是使用位于
<asm/termios>
头文件中的struct termios2
结构体(如此处所述,第一个答案)。我的解决方案到目前为止非常有效,但现在我需要使用一些函数:
speed_t cfgetispeed(const struct termios *);
int tcdrain(int);
int tcflow(int, int);
int tcflush(int, int);
int tcgetattr(int, struct termios *);
pid_t tcgetsid(int);
int tcsendbreak(int, int);
int tcsetattr(int, int, struct termios *);
问题在于
<asm/termios.h>
中没有这些函数,而我需要包含 <termios.h>
才能使用它们。
问题:如果我同时包含这两个头文件 (<asm/termios.h>
和 <termios.h>
),编译器会报告函数和结构体重复声明的错误,这是正确的。如何解决这个问题,而不使用一些晦涩难懂的做法(比如像 这里 提到的将其中一个头文件放入命名空间)?
<asm/termios.h>
,并用宏隐藏冲突的定义。其中(2)是最困难的。 (3)至少和(1)一样“晦涩难懂”,而且也是一个技巧。 - Mike Kinghan