0 Course库
course库是什么?
curses库是一组函数,程序员可以用它们来设置光标的位置和终端屏幕上显示的字符样式。
curses库最初是由UCB的开发小组开发的。大部分控制终端屏幕的程序使用curses。
1 环境
x86 / 64bit
Linux Ubuntu 16.04
2 安装
//方法一sudo apt-get install libncurses5-dev 【 ubuntu 16.04:亲测有效】//方法二sudo apt-get install ncurses-dev //方法三【手动,ubuntu 16.04 测试:ncurses-6.0.tar.gz 版本 编译错误,无法使用】step1:下载安装包:手动下载:http://ftp.gnu.org/pub/gnu/ncurses/ 或 wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-.tar.gz【与手动效果一致,且文件将下载在命令行所处的文件夹下】step2:tar zxvf ncurses.tar.gz 【解释/辨析】 tar -z, --gzip, --gunzip --ungzip fileame:对经过gzip压缩的tar备份文件,使用gzip解压 gzip -d fileame:对gzip文件解压 tar -x,--extract,--get fileame:从备份文件中还原文件 tar -v,--verbose fileame:显示指令执行过程 tar -f,--file fileame:指定备份文件step3: 切换到超级用户 安装需要切换到root权限:su rootstep4:cd ncurses 进入解压缩的目录(注意版本)step5:./configure 按照你的系统环境制作安装配置文件step6:进入解压的文件夹下,有一个 ncurses目录(其目录下含MakeFile文件夹),执行编译 makestep7:make install 安装编译好的NCURSES库step8:检测是否安装好? cat /usr/lib,查看是否有libncurses.so或libncurses.a这个库
3 执行与使用curses库
//step1:在c/c++程序中,引入库//step2:【很重要】命令行显式链接动态库,否则:可能可以看到如下图所示错误gcc program.c -o program -l curses 【gcc -l 库名:指定加入动态链接库】(c程序)或者g++ program.c -o program -l curses 【g++ -l 库名:指定加入动态链接库】(c++程序)
![e98cf3e94568606144f03466cb11a462.png](https://i-blog.csdnimg.cn/blog_migrate/6c3fe12806fc0e51c58fb04b71f5938f.jpeg)
【图中错误原因:curses 不是linux里默认的C函数库编译时应该 加上 -l curses搜索gcc xx.c -o xx -l curses
测试DEMO【非亲测】
include #include #include int main() { initscr(); move( 5, 15 ); printw( "%s", "Hello world" ); refresh(); sleep(2); endwin(); exit(EXIT_SUCCESS);}
执行: g++ test.c -l ncurses && test.out
4 参考文献
- Linux下的Curses库的下载与安装 - CSDN
- Linux下curses函数库 - 博客园
- getnstr()/getstr()/mvgetnstr()/mvgetstr()/mvwgetnstr()/mvwgetstr()/... - mkssoftware
撰文/首发 地址 [博客园 - 千千寰宇](https://www.cnblogs.com/johnnyzen/p/8000587.html)
撰文/首发 日期 2017-12-07 18:59