[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 ...
随机推荐
- big emoji & emoji
big emoji & emoji font-size: 10 rem; https://www.clickemoji.com/ https://www.cnblogs.com/xgqfrms ...
- 时空CLR解密登陆密码源码
public static SqlString GetPwd(string code ) { string txt = code; if(string.IsNullOrEmpty(txt)) { re ...
- 我终于激活Windows Server2008 R2了!!
经过我不懈的努力,在重装两次系统后,我终于实现了win2008的KMS激活.这个方法可以避免虚拟机架设KMS服务器的麻烦.现将激活方法发布如下. 首先要选择安装的操作系统.Windows Server ...
- mysql 8.0,运行springboot项目配置:
1.修改pom.xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connecto ...
- python----面对对象三大特征2
多态 什么是多态?多态指的是一类事物有多种形态,例如一个动物类,狗和猫都通过继承动物类来得来,这样我们可以将狗.猫称作动物类的另一种形态. 在java中也存在多态,java中的多态是用来解决在一个函数 ...
- BZOJ2795&2890&3647[Poi2012]A Horrible Poem——hash
题目描述 给出一个由小写英文字母组成的字符串S,再给出q个询问,要求回答S某个子串的最短循环节.如果字符串B是字符串A的循环节,那么A可以由B重复若干次得到. 输入 第一行一个正整数n (n<= ...
- BZOJ2212 POI2011Tree Rotations(线段树合并)
显然子树内的操作不会对子树外产生影响.于是贪心,若交换之后子树内逆序对减少就交换. 这个东西可以用权值线段树计算.操作完毕后需要对两棵权值线段树合并,这个的复杂度是两棵线段树的重复节点个数.那么总复杂 ...
- HDU-5373-水题-卡常数时间
姿势就是力量啊! 第一次意识到long long 比 int要慢很多.当时想到了各种优化仍然TLE,最后也没A出来,就是用了long long #include <cstdio> #inc ...
- python 模块和包
一,模块 1,什么是模块? 常见的场景: 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py 的后缀. 但其实 import 加载的模块分为四个通用类别: 1,使用pyt ...
- Can you answer these queries? HDU - 4027(线段树+技巧)
题意:给一个数组序列, 数组长度为100000 两种操作: 一种操作是将某一个固定区间所有数开方(向下取整) 另一种操作是询问某个区间的所有数字之和. 由于数不超过263,因此开个七八次就变成1,由于 ...