ncurses note (1) ——介绍ncurses库和安装介绍ncurses(newcurses )是一种程序,它提供一系列函数供用户调用以生成基于文本的用户界面
ncurses名称n表示“new”,因为它是curses的自由软件版。 由于ATT“臭名昭著”的版权政策,人们后来不得不用它代替ncurses。
ncurses是GNU程序的一部分,但它是少数不使用GNU GPL或LGPL许可证的GNU软件之一。
其实我们不知道ncurses本身。 以下著名软件都使用过ncurses。
vimemacslynxscreen为了制作自己构想的Roguelike游戏,同时作为对《The C Programming Language》的实践,开始接触ncurses并在这里做笔记。
安装Linux以Debian为例。 (人生的第一次发行) ) ) ) ) ) ) ) ) )。
在非Debian发行版中添加了$ sudo apt-getinstallibncurses5- dev的安装方法
安装完成后,编写以下代码。
//test.c # include string.h # include ncurses.hint main (int argc,char * argv [ ] ); raw (; noecho (; CURS_set(0; char* c=’Hello,World!’ ; mvprintw(lines/2,) cols-strlen(c ) )/2,c ); 重新整理(; getch (; endwin (; 返回0; }然后用gcc编译并运行看看效果。 请不要忘记输入-lncurses哦。
$ gcc test.c-o test-lncurses $./test意外结果如下:
Windows ncurses似乎不提供对Windows平台的支持,但可以改为使用PDCurses。 最近的stable版本是08年的,使用后暂时没有发现问题,可以对照网上ncurses的资料进行学习。
如果不想自己编译,可以直接下载pdc34dllw.zip。
否则,下载PDCurses-3.4.tar.gz。 以下仅针对下载pdc34dllw.zip的情况进行说明。
解压缩pdc34dllw.zip时,意外得到以下文件:
以MinGW为例,
将所有. h文件放在MinGW的include目录中,将pdcurses.lib文件放在MinGW的lib目录中,并将pdcurses.dll文件放在与目标文件相同的目录中。 (推荐)或x: ) windows )位于syswow64目录中。 )推荐)不推荐。 配置完成后
//test.c # include string.h # include curses.hint main (int argc,char * argv [ ] ); raw (; noecho (; CURS_set(0; char* c=’Hello,World!’ ; mvprintw(lines/2,) cols-strlen(c ) )/2,c ); 重新整理(; getch (; endwin (; 返回0; }然后用gcc编译,别忘了-lpdcurses。
gcc test.c -o test.exe -lpdcurses意外地得到了以下结果。
那么,接下来开始有趣的事情吧。