[C++]Linux之图形界面编程库[curses库]之入门教程
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库]之入门教程的更多相关文章
- Linux C 程序 GTK+图形界面编程(22)
GTK+图形界面编程 Linux大多是在字符界面,但也可以开发图形界面 目前已经存在多种Linux下开发图形界面的程序开发包:最常用的是Qt和GTK+ Qt是一个跨平台的图形界面开发库,不仅仅支持Li ...
- python在linux制作图形界面(snack)
snack是一个用于在linux制作图形界面(GUI)的模块,该模块由c编写,而且redhat的系统都自带这个模块. 1.获取模块 虽然redhat系统会自带这个模块,但是直接去import snac ...
- Java中的图形界面编程
前言 正文 Java中的图形界面编程 AWT/Swing AWT(Abstract Window ToolKits,抽象窗体工具集) 1.容器类:用来存储组件,实现容器布局 2.组件类:实现界面的一些 ...
- C语言控制台窗体图形界面编程(总结)
本系列文章是笔者通过学习<C语言控制台窗体界面编程(修正版)>而写(关于此文档的很多其它信息请看本系列文章第一篇),旨在让大家更加清晰简洁easy地学习C语言控制台窗体界面的编程. 通过本 ...
- python 教程 第十九章、 图形界面编程
第十九章. 图形界面编程 import Tkinter top = Tkinter.Tk() hello = Tkinter.Label(top, text='Hello World!') hello ...
- 图形界面编程成就了C++
听有人说C#.VB比C++好是因为做界面方便还算傻得可爱,听有人说用C++做数值计算而不屑于做界面可就对不起咱C++的恩人了.这我可要说道说道. 想当年C++刚出江湖,名门出身,自立门派,想抢Obje ...
- 【情人节选帽子】TCS34725颜色传感器和Python图形界面编程(STM32 HAL库)
截图 描述: l STM32 HAL库编程 l 使用模拟IIC通信,方便程序移植 l Python界面编写,蘑菇头的帽子是什么颜色 l STM32 HAL库串口通信 l Python界面使用 ...
- unix/linux中图形界面那些事
我们知道unix/linux刚开始的时候是没有图形界面的,随着时代的发展,排版.制图.多媒体应用越来越普遍了,这些需求都需要用到图形界面(Graphical User Interface).为此,MI ...
- Linux 安装图形界面及远程连接
#可查询哪些组件是否已经安装(可用来对照组件名称) yum grouplist yum groupinstall 'X Window System' -y #安装GNOME桌面环境 yum group ...
随机推荐
- HTMl Dom操作
訪問: getElementById():帶回指定id的所有元素 getElementByTagName():帶回指定標籤名的所有的元素 getElementByClassName():帶回指定類型名 ...
- Lodop打印控件输出页码(超文本和纯文本页码)
Lodop打印控件打印超文本既可以手动分页,也可以自动分页,自动分页可阅读本博客的另一篇博文:Lodop打印控件 超文本自动分页 自动分页的时候,往往是不知道需要打印的内容到底分了几页,也就不可能预先 ...
- CSS等高布局的7种方式
前面的话 等高布局是指子元素在父元素中高度相等的布局方式.等高布局的实现包括伪等高和真等高,伪等高只是看上去等高而已,真等高是实实在在的等高.本文将介绍边框模拟.负margin这两种伪等高以及tabl ...
- Linux共享库LD_LIBRARY_PATH与ld.so.conf
1. 往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig,不然这个library会找不到 2. 想往上面两个目录以外加东西的时候, ...
- MVC 多submit
直接上代码 3种情况: 第一种,由于form已经可以支持多个了.所以我们分成2个form来提交,submit会根据自己所在的form来提交当前表单的内容 @using (Html.BeginForm( ...
- 监控(1)-企业常用服务监控shell
-----------------企业监控------------------------主动探测监控(“监控机”主动探测“被监控机”)HTTP服务器监控#!/bin/shLANG=C#被监控服务器. ...
- DataFrame 数据去重
df.head() >>> Price Seqno Symbol time 0 1623.0 0.0 APPL 1473411962 1 1623.0 0.0 APPL 147341 ...
- A1053. Path of Equal Weight
Given a non-empty tree with root R, and with weight Wi assigned to each tree node Ti. The weight of ...
- jar文件放在桌面上双击启动不了,但放在其它任何文件夹里都可以双击启动
今天本来是想尝试一下Java Network Launching Protocol (JNLP,java网络加载协议) 的,写了一个简单的窗口程序,打包成jar保存到桌面上,双击等了半天没显示出来. ...
- 关于Picasso load本地图片显示失败的探究
今天测试找过来说图片不显示了,查了一下是Picasso加载本地图片没有显示,奇怪了,以前都是这样写为什么现在不行了,难道是Picasso有bug了,怀着激动的心情断点跟进去发现 Picasso所有lo ...