0
首先,什么是DSUSP?禁用DSUSP - 终端控制
我尝试使用下面的代码行来禁用它:
tntty.c_cc[VDSUSP] = _POSIX_VDISABLE;
但我得到的错误“VDSUSP是未申报”
首先,什么是DSUSP?禁用DSUSP - 终端控制
我尝试使用下面的代码行来禁用它:
tntty.c_cc[VDSUSP] = _POSIX_VDISABLE;
但我得到的错误“VDSUSP是未申报”
Linux的termios(3)
手册页介绍了它这样(重点煤矿):
VDSUSP
(未在POSIX; 不能在Linux下支撑; 031,EM, ç trl-Y)延迟暂停字符:当用户程序读取 字符时发送SIGTSTP信号。当IEXTEN 和ISIG已设置且系统支持作业控制,然后不是 作为输入传递时识别。
由于这不是一个POSIX指定的索引,你应该测试它的存在,只试图定义它禁用它的平台上:
#ifdef VDSUSP
tntty.c_cc[VDSUSP] = _POSIX_VDISABLE;
#endif
配置测试?我认为在源代码中使用'#ifdef VDSUSP'会更有意义... –
@R .:它不是'enum'常量吗? – caf
编号根据http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/termios.h.html“下标值应适用于#if预处理指令”。 –