ncurses 具体实现原理?ncurses 的实现依赖于操作系统吗?
2 回答
大话西游666
TA贡献1817条经验 获得超14个赞
传统的Unix Console和DOS/Windows Console并不一样。从串口终端发展下来的这一系Terminal从接口上说是一个纯粹的“流”,因此它本身并没有定位屏幕位置的能力。(最初的Terminal是打字机,而不是视频终端)
因此大部分的终端使用Escape Sequence,也就是一些特殊的不可见字符序列来传递光标定位、文字擦除、显示颜色等特殊的指令。其中普及最广的标准应该是ANSI Escape Sequence。
具体到NCurses,NCurses应该使用了类似于Terminfo/Termcap的数据库来消化不同终端的不同。这些数据库保存了各种终端的指令支持状况,以及对应这些指令的Escape Sequence。
而在于具体实现,在Windows Console Host之类终端模型完全不同的环境里也许会比较特殊,但在支持Terminal的Unix类系统上应该是差别不大的。
- 2 回答
- 0 关注
- 792 浏览
添加回答
举报
0/150
提交
取消