开发者社区> 问答> 正文

Linux ncurses 实现原理

ncurses 具体实现原理?
ncurses 的实现依赖于操作系统吗?

展开
收起
a123456678 2016-06-23 14:54:02 1833 0
1 条回答
写回答
取消 提交回答
  • 如果你说的是那个GUI库的话,实现原理当然是直接打开console buffer然后写字符啊,或者通过一些奇怪的字符让shell来帮你做一样的事情,就跟GUI点像素是同一个道理。这种操作当然是依赖于操作系统的。Unix的很多escape sequence在Windows下面就用不了。

    譬如说Windows,你要完全操纵一个console application上面的东西,你需要大量的函数:https://msdn.microsoft.com/en-us/library/windows/desktop/ms682073(v=vs.85).aspx 。只有用满了这些,你才能在Windows上面做一个这样的GUI库,支持鼠标键盘滚轮操作,还有随意修改任何坐标的字符并控制什么时候刷新,还不会被locale和code page搞。

    当然做一个简单的并不会很难,只要把这些奇怪的边界条件都处理好了,控件都是小事,顺便还可以增长如何让GUI可以适应中文、韩文、阿拉伯文、英文、泰文、菲律宾文等奇怪文字的知识。

    2019-07-17 19:46:19
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载