Linux ncurses 实现原理
PHP中文网
PHP中文网 2017-04-17 13:46:06
[Linux讨论组]
  1. ncurses 具体实现原理?

  2. ncurses 的实现依赖于操作系统吗?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(1)
迷茫

传统的Unix Console和DOS/Windows Console并不一样。从串口终端发展下来的这一系Terminal从接口上说是一个纯粹的“流”,因此它本身并没有定位屏幕位置的能力。(最初的Terminal是打字机,而不是视频终端)

因此大部分的终端使用Escape Sequence,也就是一些特殊的不可见字符序列来传递光标定位、文字擦除、显示颜色等特殊的指令。其中普及最广的标准应该是ANSI Escape Sequence。

具体到NCurses,NCurses应该使用了类似于Terminfo/Termcap的数据库来消化不同终端的不同。这些数据库保存了各种终端的指令支持状况,以及对应这些指令的Escape Sequence。

而在于具体实现,在Windows Console Host之类终端模型完全不同的环境里也许会比较特殊,但在支持Terminal的Unix类系统上应该是差别不大的。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号