linux图形编程前的基本操作
linux
一、安装Red flag linux 6.0;
小知识:
1.在进入带有空格的目录时使用/|_|;如进入My Documents时 可输入cd /Desktop/My/ Documents;
2.在进入下级目录时可使用 目录名/
比如有这样一个目录 /root/Desktop/My Documents/QQ
cd /root/Desktop/My/ Documents
cd QQ/
这样可进入QQ目录中。
安装程序的一般步骤:
1.进入安装程序目录,执行 tar -zxvf a.tar.gz(解压文件的时候用gzip a.zip)
2. ./configure --prefix=安装路径
3. make
4.make install
二、关于linux 的图形编程。
1、编写c程序,需引用curses.h头文件。C程序引用头文件所在的目录为/usr/include.
2、然后用gcc -0 [生成执行文件名称] [文件名.c] -lncurses.
下面是一个很好的比喻:
你真正需要的不是头文件,而是函数库,明白吗?
头文件只不过是“买回来的热水器的说明书”,
你光拿着说明书,不去找热水器,能烧开水吗?
RH9 中的 curses.h 就是 libncurses.a 这个热水器的说明书,
明白这个道理了吗?
gcc 的 -lncurses 这个意思就是说,你要把 libncurses.a 这个热水器插到电源上!
我希望,
你在下次学另外一种技术的时候,
不要再这么问:
[quote]我已经包含了 xxxx.h,为什么还是报错呢?[/quote]
而是应该这么问:
[quote]我要 do it,那么除了包含 xxxx.h 还要链接哪个库文件呢?[/quote]
或者
[quote] xxxx.h 对应的是哪个库文件呢?[/quote]
三、关于linux的串口通信
在liunx系统中,对串口的操作实际上是对 /dev/ttyS0或/dev/ttyS1 、/dev/ttyS2文件进行操作,其中ttyS0代表COM0口,ttyS1代表COM1口,ttyS2代表COM2口。
四、编译是出现的警告。
1.rty.c:21:2: warning: no newline at end of file
提示文件结尾没有命令行,可在文件代码的结尾添加回车换行。
linux界面编程《ncurses.h》
NCURSES不仅仅只是封装了底层的终端功能,而且提供了一个稳固的工作框架(Framework)用以产生漂亮的用户界面。它包含了一些可以创建窗口的函数。它的姊妹库 Menu、Panel和Form是CURSES基础库的扩展。这些库一般都随同CURSES包里一起发行。我们可以建立一个应用程序同时包含多窗口(multiplewindows)、菜单(menus)、面板(panels)和表单(forms)。窗口可以被独立管理,
一、在编写c程序时(包括显示中文),所应用的头文件如下:
#include <stdlib.h>
#include <ncurses.h>
#include <locale.h>
stdlib.h库包括最基本的输入输出等函数。
ncurses.h定义了linux/unix的图形界面。
locale.h 地区化,本类别的函数用于处理不同国家的语言差异。
1.在使用中文下需要调用loccale.h头文件
smaple:
#include <stdlb.h>
#include <ncurses.h>
#include <locale.h>
void mian()
{
//使用系统默认的locale
setlocale(LC_ALL,"");
initscr(); //开启curses
.........
endwin(); //关闭curses
exit(0);
}.
采用gcc编译
gcc wtes.c -lmenuw -lncursesw
编译后默认输出为a.out文件
在目录下执行 ./a.out
注意:在编译是不要用gcc wtes.c -lncurses,而要用gcc wtes.c -lncursesw,ncursesw是ncurses支持宽字符的版本(wide character).这样整个程序就可以使用UTF-8编码的任意字符了。
二、linux控制台显示中文
要在控制台显示中文,需安装 zhcon.
安装过程:
二、安装
现在最新版本是0.2.6。zhcon的源代码和RPM包可以从http://zhcon.sourceforge.net/下载得到。在Sourceforger的网址http://sourceforge.net/project/showfiles.php?group_id=27400上,需要下载的文件有两个:一个是zhcon-0.2.5.tar.gz,一个是zhcon-0.2.5-to-0.2.6.diff.gz。
1.首先解压并解包zhcon-0.2.5.tar.gz文件:
[root@localhost zhcon]# tar zxvf zhcon-0.2.5.tar.gz
解压之后得到一个zhcon-0.2.5。这个目录包含了zhcon-0.2.5版本的所有源代码和man手册等。
2.然后将zhcon-0.2.5-to-0.2.6.diff.gz解压:
[root@localhost zhcon]# gzip -d zhcon-0.2.5-to-0.2.6.diff.gz
解压后得到zhcon-0.2.5-to-0.2.6.diff文件,这个文件实际上是一个补丁文件。
3.将zhcon-0.2.5-to-0.2.6.diff文件打补丁到zhcon-0.2.5的源代码中:
[root@localhost zhcon]# patch -p0 < zhcon-0.2.5-to-0.2.6.diff
在目录zhcon-0.2.5的父目录中进行这一步。
这样,原来的0.2.5版本的zhcon就升级到了0.2.6版本了。接下来的过程就是UNIX平台固定的“安装三步曲”了:
[root@localhost zhcon]# ./configure --prefix=/usr/local/zhcon
[root@localhost zhcon]# make
[root@localhost zhcon]# make install
4.运用
1.要想在控制台下显示中文,键入命令:
[root@localhost zhcon]# /usr/local/zhcon/bin/zhcon --utf8
即可。
2.要想在控制台下运用中文输入法:
使用Ctrl+space或Ctrl+2来打开或关闭智能拼音输入法
linux图形编程前的基本操作相关推荐
- linux图形编程,linux图形界面编程基本知识
以前看过这篇文章,不过当时没有博客,现在又一次看到了,记下来: http://hi.baidu.com/skychen1900/blog/item/9c7b94350a5fae1290ef39fb.h ...
- 【Linux系统编程】线程基本操作
00. 目录 文章目录 00. 目录 01. 线程概述 02. 线程常用函数 2.1 获取线程号 2.2 线程号比较 2.3 线程创建 2.4 回收线程资源 2.5 线程分离 2.6 线程退出 03. ...
- 【Linux】一步一步学Linux系统编程教程汇总(暂时暂停更新......)
00. 目录 文章目录 00. 目录 01. 概述和标准 02. 文件操作 03. 进程概念 04. 进程间通信 05. 多线程 06. 信号 07. 同步与互斥 08. 高级IO 09. 其它 10 ...
- 以下是UNIX linux 下c语言的图形编程 curses库
UNIX下c语言的图形编程--curses.h 函式库 作者:不详 来源:supcode.com收集整理 发布时间:2005-7-22 19:39:36 减小字体 增大字体 相信您在网路上一定用过 ...
- Linux下c语言的图形编程(转) curses.h 函式库
这是转贴哈,最近想吧TC的图形编程搞到LINUX下面来,所以就对其有所研究了哦. http://tech.techweb.com.cn/viewthread.php?tid=181892 注明了转载, ...
- 【转】linux图形界面编程基本知识
原文:https://blogs.gnome.org/raywang/2007/10/11/linux%E5%9B%BE%E5%BD%A2%E7%95%8C%E9%9D%A2%E7%BC%96%E7% ...
- 4. linux调用文件计算阶乘前5项和_嵌入式Linux系统编程——文件读写访问、属性、描述符、API
Linux 的文件模型是从 Unix 的继承而来,所以 Linux 继承了 UNIX 本身的大部分特性,然后加以扩展,本章从 UNIX 系统接口来描述 Linux 系统结构的特性. 操作系统是通过一系 ...
- Linux系统编程学习之《编程前的准备》
在进行Linux系统编程钱,先来看看编程前的准备吧! 先说说我为什么学习Linux系统编程,因为我觉得现在Linux是IT行业的主流,学习一下Linux相关知识,对于学计算机专业的我来说肯定是有必要的 ...
- linux图形界面编程基本知识
很多LINUX初学者分不清楚linux和X之间,X和Xfree86之间,X和KDE,GNOME等之间是什么关系.常常混淆概念,我想以比较易于理 解的方式说明一下X,X11,XFREE,WM,KDE,G ...
最新文章
- Python学习笔记:SMTP服务器
- 敏捷与DevOps整合之道
- MySQ软件的卸载-通过控制面板方式
- C#实现ByteBuffer类 .
- 需求规格说明书(备注:因不支持word复制,格式图片发生改变 ,故以文件方式又上传了一份pdf)...
- python 与或非_Python的阶乘求和
- android怎么阿看手机是移动联通还是电信的网络,GSM是联通、移动还是电信的网络?...
- BackgroundWorker 简单使用教程 多个线程的创建
- INSAR学习(小白笔记一)
- ubuntu 制作gif 动态图片
- 文明重启战局服务器维护中,王牌战争文明重启8月23日更新公告
- 整理的strace命令参考文档
- 怎么样跑步才会消耗掉脂肪而不是肌肉和水分呢
- 关于RC阻容复位电路的问题
- 有限体积法(5)——对流-扩散方程的离散
- 关于 web service 参数传递的序列化反序列化问题
- 从Maxwell方程组到波动方程
- 百度api 人物漫画脸
- 2018年8月31日修改个人所得税法后,新税法正式实施,起征点每月5000元,个税累计预扣法,个人所得税如何计算?程序员一看就懂的教程
- mysql数据割接_割接常见问题