Ncurses

ncursesnew curses)是一个程序库,它提供了API,可以允许程序员编写独立于终端的。它是一个虚拟终端中的“类GUI”应用软件工具箱。它还优化了屏幕刷新方法,以减少使用远程shell时遇到的延迟。

历史
ncurses中的n来源于单词new*。这是因为ncurses是System V第4.0版(SVr4)中curses的自由软件克隆, 而那又是停止开发的4.4 BSD curses的增强版。

BSD curses库的成功促使贝尔实验室在他们的System III和System V第1版Unix系统中,发布增强的curses库。这个库功能更强大,而且它用terminfo代替了termcap。然而,由于AT&T的源代码分发政策,改进的curses库并没有被BSD社区广泛接受。

ncurses
1991年年底时,在Zeyd Ben-Halim的努力下,pcurses库得到了进一步改善。
1993年11月,新库以名字ncurses发布了,它的首个主版本为1.8.1。
随后版本1.8.8(1995)的工作由埃里克·雷蒙主导,他添加了Juergen Pfeifer编写的表单和菜单库。1996年起,它一直由Thomas E. Dickey维护。然而,一些地方却存在问题,如在处理终端缩放上,因为旧的curses没有对应的功能。

终端数据库
Ncurses可以使用terminfo(与可扩展数据)或termcap。其它curses的实现一般使用terminfo;少数使用termcap。有极少数实现(mytinfo是一个时间较久的例外)都可以使用。

许可
Ncurses是GNU计划的一部分。
它是极少数不在GNU GPL或LGPL下分发的GNU文件;它是在一个类似于MIT许可证的宽自由软件许可证下分发的。
这是由于在开发者指定版权时,协议是由自由软件基金会起草的。

在签署协议以将权利交给FSF时,有条款写道:

The Foundation promises that all distribution of the Package, or of any work "based on the Package", that takes place under the control of the Foundation or its agents or assignees, shall be on terms that explicitly and perpetually permit anyone possessing a copy of the work to which the terms apply, and possessing accurate notice of these terms, to redistribute copies of the work to anyone on the same terms.一些程序,如GNU Screen和w3m,只使用termcap接口执行屏幕管理。另一些,如GNU Midnight Commander和YaST,使用curses编程接口。

参见

  • SMG$。OpenVMS中可用的屏幕管理库。
  • conio。一个C头文件,用于在MS-DOS编译器中创建文本用户界面。
  • Curses Development Kit
  • Dialog (软件)

参考资料
外部链接
*

编程介绍

工具箱

语言绑定

** [https://web.archive.org/web/20130803010851/http://devzone.zend.com/173/using-ncurses-in-php/ 在PHP中使用Ncurses]

分发和-{zh-hans:包;zh-hant:封裝}-

评论 (0)

  • 还没有评论,来抢沙发吧。