开发者社区 问答 正文

Linux ncurses 实现原理

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

展开
收起
a123456678 2016-06-08 21:39:38 2316 分享 版权
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:32:48
    赞同 展开评论
问答分类:
问答标签:
问答地址: