1. 安装

//方法一
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-<version>.tar.gz【与手动效果一致,且文件将下载在命令行所处的文件夹下】 step2:tar zxvf ncurses<version>.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 root step4:cd ncurses<version> 进入解压缩的目录(注意版本) step5:./configure 按照你的系统环境制作安装配置文件 step6:进入解压的文件夹下,有一个 ncurses目录(其目录下含MakeFile文件夹),执行编译
make step7:make install 安装编译好的NCURSES库 step8:检测是否安装好?
cat /usr/lib,查看是否有libncurses.so或libncurses.a这个库

2.执行与使用curses库

//step1:在c/c++程序中,引入库<curses.h>

//step2:【很重要】命令行显式链接动态库,否则:可能可以看到如下图所示错误
gcc program.c -o program -l curses 【gcc -l 库名:指定加入动态链接库】(c程序)
或者
g++ program.c -o program -l curses 【g++ -l 库名:指定加入动态链接库】(c++程序)

【图中错误原因:curses 不是linux里默认的C函数库编译时应该 加上 -l curses搜索gcc xx.c -o xx -l curses

测试DEMO【非亲测】

include <unistd.h>
#include <stdlib.h>
#include <curses.h> int main() {
initscr();
move( 5, 15 );
printw( "%s", "Hello world" );
refresh();
sleep(2);
endwin();
exit(EXIT_SUCCESS);
}

执行: g++ test.c -l ncurses && test.out

参考文献:

  【Linux下的Curses库的下载与安装】(http://blog.csdn.net/damotiansheng/article/details/40106249)

Linux下curses函数库】(https://www.cnblogs.com/dandingyy/archive/2012/08/23/2651644.html)

  【getnstr(), getstr(), mvgetnstr(), mvgetstr(), mvwgetnstr(), mvwgetstr(), wgetnstr(), wgetstr()】(https://www.mkssoftware.com/docs/man3/curs_getstr.3.asp)

[C++]Linux之图形界面编程库[curses库]之入门教程的更多相关文章

  1. Linux C 程序 GTK+图形界面编程(22)

    GTK+图形界面编程 Linux大多是在字符界面,但也可以开发图形界面 目前已经存在多种Linux下开发图形界面的程序开发包:最常用的是Qt和GTK+ Qt是一个跨平台的图形界面开发库,不仅仅支持Li ...

  2. python在linux制作图形界面(snack)

    snack是一个用于在linux制作图形界面(GUI)的模块,该模块由c编写,而且redhat的系统都自带这个模块. 1.获取模块 虽然redhat系统会自带这个模块,但是直接去import snac ...

  3. Java中的图形界面编程

    前言 正文 Java中的图形界面编程 AWT/Swing AWT(Abstract Window ToolKits,抽象窗体工具集) 1.容器类:用来存储组件,实现容器布局 2.组件类:实现界面的一些 ...

  4. C语言控制台窗体图形界面编程(总结)

    本系列文章是笔者通过学习<C语言控制台窗体界面编程(修正版)>而写(关于此文档的很多其它信息请看本系列文章第一篇),旨在让大家更加清晰简洁easy地学习C语言控制台窗体界面的编程. 通过本 ...

  5. python 教程 第十九章、 图形界面编程

    第十九章. 图形界面编程 import Tkinter top = Tkinter.Tk() hello = Tkinter.Label(top, text='Hello World!') hello ...

  6. 图形界面编程成就了C++

    听有人说C#.VB比C++好是因为做界面方便还算傻得可爱,听有人说用C++做数值计算而不屑于做界面可就对不起咱C++的恩人了.这我可要说道说道. 想当年C++刚出江湖,名门出身,自立门派,想抢Obje ...

  7. 【情人节选帽子】TCS34725颜色传感器和Python图形界面编程(STM32 HAL库)

    截图 描述: l  STM32 HAL库编程 l  使用模拟IIC通信,方便程序移植 l  Python界面编写,蘑菇头的帽子是什么颜色 l  STM32 HAL库串口通信 l  Python界面使用 ...

  8. unix/linux中图形界面那些事

    我们知道unix/linux刚开始的时候是没有图形界面的,随着时代的发展,排版.制图.多媒体应用越来越普遍了,这些需求都需要用到图形界面(Graphical User Interface).为此,MI ...

  9. Linux 安装图形界面及远程连接

    #可查询哪些组件是否已经安装(可用来对照组件名称) yum grouplist yum groupinstall 'X Window System' -y #安装GNOME桌面环境 yum group ...

随机推荐

  1. 如何判断一条记录什么字段被修改了 [问题点数:40分,结帖人bluesukeke]

    查询出来数据,在数据集编辑状态下,如何判断一条记录被修改了,哪些字段被修改了. 可用adoquery的Delta屬性...eg: ClientDataSet1.Delta... PS:POST前是準確 ...

  2. BZOJ3110[Zjoi2013]K大数查询——权值线段树套线段树

    题目描述 有N个位置,M个操作.操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c如果是2 a b c形式,表示询问从第a个位置到第b个位置,第C大的数是 ...

  3. BZOJ3589 动态树(树链剖分+容斥原理)

    显然容斥后转化为求树链的交.这个题非常良心的保证了查询的路径都是到祖先的,求交就很休闲了. #include<iostream> #include<cstdio> #inclu ...

  4. LOJ116 有源汇有上下界最大流(上下界网络流)

    考虑有源汇上下界可行流:由汇向源连inf边,那么变成无源汇图,按上题做法跑出可行流.此时该inf边的流量即为原图中该可行流的流量.因为可以假装把加上去的那些边的流量放回原图. 此时再从原来的源向原来的 ...

  5. jQuery筛选总结

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. bzoj 2141 : 排队 (cdq分治+bit)

    链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2141 思路: 其实就是求动态逆序对...cdq降维,用树状数组前后求两遍逆序对就好了 切水 ...

  7. Codeforces Round #420 (Div. 2) A,B,C

    A. Okabe and Future Gadget Laboratory time limit per test 2 seconds memory limit per test 256 megaby ...

  8. 启用SharePoint 2013文档版本控制

    cls $PSSnapin = Add-PsSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue | Out-Nul ...

  9. BZOJ3118 Orz the MST 【单纯形 + 生成树】

    题目链接 BZOJ3118 题解 少有的单纯形好题啊 我们先抽离出生成树 生成树中的边只可能减,其它边只可能加 对于不在生成树的边,其权值一定要比生成树中其端点之间的路径上所有的边都大 然后就是一个最 ...

  10. Elasticsearch 常见问题的解决思路

    本文为es性能监控基础的扩展,大家可以先看下性能监控基础,熟悉下es的基本原理.为翻译性质文档,感谢原作者,原始文档地址 类似于汽车的运行方式,Elasticsearch旨在让用户快速上手和运行,而无 ...