linux应用程序开发实验报告3详解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告

学生姓名:白迪学生学号:222014*********

日期:2016年11月15日与11月29日

院(系):计算机与信息科学学院软件学院专业(班级):网络工程实验题目:终端驱动属性编程及利用属性特性的应用程序编程

一. 实验目的

掌握终端驱动属性的特殊功能,掌握终端驱动属性的显示与修改方法编程,掌握利用终端驱动属性的特属性编写需要特殊功能的应用程序技巧。

二. 实验原理

三. 实验器材

安装有Windows操作系统PC机一台,实验环境为LINUX虚拟机(包含gcc 与gdb).

四. 实验分析与设计

补全终端设备属性位与控制字符的信息输出:

Main函数

Flags的补充

显示flags函数

Setecho函数,设置echo的状态位Echostate函数。显示echo状态

Setecho函数

忽略特殊的一些按键,CTRL+C、CTRL+\,不能一直阻塞等待键盘输入,设置等待一定的时间的非阻塞。

预处理

Main函数

Tty—mode

set_nodelay_mode()//没阻塞

set_nobuf_noecho_mode()//没回显,没缓冲

Getresponse()

中断处理函数

五. 实验结果

属性位与控制字符的信息输出

stty控制字符的修改功能,setecho

忽略特殊的一些按键,CTRL+C、CTRL+\,不能一直阻塞等待键盘输入,设置等待一定的时间的非阻塞。当按下的键不是y或者n就显示f。

六. 实验心得

通过本次试验中对终端文件更加的了解了,还学会了对中断文件的一些基本的设置,前面的实验做起来就是一些验证比较简单,但是收获很大,最后一个做的时候先看过书后,自己编写的,调试过程中总是出错,做到最后跟书上的代码比较发现自己的代码跟书上比差了好远,修改了很多,自己用的是Redhat5,cc—

—t里边的VTIME设置后没有用,还是选择了sleep函数实现该功能。

这次试验更加觉得以后要多编程才是最好的提升能力的方法。

七. 实验报告评价

成绩:

指导教师:

日期:

第3个实验报告任务要求:

1、参见教材p141的终端变量控制属性位与控制字符,借助在线帮助,借鉴p144页程序,补全属性位与控制字符的信息输出。(验证)

2、模仿linux系统自带的stty命令,实现1到2个属性或控制字符的修改功能(验证)

3、继续完善第1章的more命令,实现more 提示符不上翻的功能,以及输入字符不缓冲,驱动程序直接提交给应用程序(设计)

4、对终端有特殊处理要求的程序,有时需要忽略特殊的一些按键,比如不被强制终止的CTRL+C、CTRL+D,CTRL+Z,CTRL+\

5、对终端有特殊要求的程序,比如不能一直阻塞等待键盘输入,可以考虑设置等待一定的时间

的非阻塞。

相关文档
最新文档