首先,什么是DSUSP?
我正在尝试使用以下代码行禁用它:
tntty.c_cc[VDSUSP] = _POSIX_VDISABLE;
但是我收到“VDSUSP未声明”的错误
答案 0 :(得分:1)
Linux termios(3)
手册页因此描述了它(强调我的):
VDSUSP
(不在POSIX中; 在Linux下不支持; 031,EM, Ctrl-Y)延迟暂停字符:当发送SIGTSTP信号时 用户程序读取字符。在IEXTEN时认可 和ISIG设置,系统支持作业控制,然后不支持 作为输入传递。
由于这不是POSIX指定的索引,您应该测试它的存在,并且只尝试在定义它的平台上禁用它:
#ifdef VDSUSP
tntty.c_cc[VDSUSP] = _POSIX_VDISABLE;
#endif