翻新时间:2013-12-14
中文全文信息检索系统中索引项技术及分词系统的实现
中文全文信息检索系统中索引项技术及分词系统的实现
摘 要 该文提出了一种在Windows3.1保护模式下,通过动态连接库(DLL)生成中断服务程序代码,实现外设与Windows应用程序实时通信的有效方法。
一、前 言
计算机的日益普及和计算机技术日益成熟,使得计算机在工业控制监测中的应用渐渐深入。但工业应用不同于其它方面,它要求有较强的实时性。现在有很多的DOS软件在运行过程中通过挂接外部中断方式实现DOS应用软件与外设的实时通信,这种方法实现起来十分简单。而在Windows中应用程序能否也能够利用外部硬中断实现外设与Windows应用程序的实时通信呢?答案是肯定的。这里的关键是要解决好中断代码与Windows应用程序相互之间交换信息的问题。
从外设发送异步的硬中断,通过中断处理程序传递一条信息给Windows应用程序。这时可以初始化相关端口,准备好数据,然后进行数据传送,从而做到实时通信。
实现Windows应用程序响应外部中断的方法有很多,如Microsoft公司自己开发的SDK、DDK软件包,使用嵌入式汇编等等。本文将介绍一种在BC 3.1的基础上利用Windows 3.1拥有的一些功能实现Windows实时通信的实例。
二、中断代码的位置
在Windows中,几乎所有的异步事件都是由中断处理程序来管理的。中断处理程序包含在设备驱动程序中,由Windows在环境初始化中安装。例如,KEYBOARD.DRV、MOUSE.DRV和COMM.DRV均含有中断处理程序,以处理相应的键盘、鼠标和串行口的异步中断。可以仿照标准设备驱动程序,编写中断处理代码,以响应外设的通信请求,从而完成一次实时通信。
中断代码既可以包含在应用程序的可执行代码中,也可以包含在动态连接库(DLL)中。包含在应用程序中的代码只能在一个程序中使用,而在动态连接库中的代码则可以在Windows系统中所有的应用程序所共享。这样不仅在整个Windows系统中只有一个中断代码的副本,提高了内存的使用效率,更重要的是可以防止由于同时存在多个中断代码的副本而发生冲突。本文将在DLL中编制中断处理程序。
当动态连接库被装入时,要调用DLL库的入口点LibMain(),利用这一点可以执行一些初始化工作,可以分配一些内存块,可以初始化一些全局变量或者静态变量,可以安装中断服务程序的代码等等。例如:
void interrupt (oldIsr)(--CPPARGS)
/* 旧的中断服务程序地址 */
LibMain(HANDLE hInstance,WORD wDataSeg,WORD cbHeapSize,L
PSTR
lpszCmdLine)
{
…
oldIsr=getvect(IRQNum);
/* IRQNum指中断号 */
setvect(IRQNum,newIsr);
/* newIsr指新中断服务程序代码 */
return
(1);
}
函数setvect()既可在实模式下,也可在保护模式下设置中断处理向量。
上述代码也可以放在一个由用户设置的引出(export)函数中,在应用程序中用户可以调用此引出函数来安装中断服务程序代码。
由于中断可以在任何时刻发生,中断代码必须驻留在内存中,并且在应用程序运行的过程中一直处于某一固定内存中。这一点无论是在实模式还是在保护模式下都是一致的。
在DLL的模块定义文件中应注意:
1.CODE语句为固定代码段,即FIXED;
2.EXPORTS语句要引出被应用程序和其它DLL用作入口点的函数。
下一页
下载文档
网友最新关注
- 我
- 《沙滩惊奇》观后感
- 续写小?z影师
- 小水滴的歌儿
- 家乡的美景
- 吹泡泡
- 捉鸡
- 宽容他人
- 故乡的雪
- 续写坐井观天
- 兰草
- 森林里的动物运动会
- 我班里的"调皮生"
- 聪明泉
- 我的家
- 2012年教师入党申请书
- 护士入党申请书
- 2010最新入党申请书范文
- 国企职工10月入党申请书
- 填写在志愿书上的入党申请书
- 教师入党申请书
- 最新大学入党申请书
- 10月大一新生入党申请书范文
- 2012年普通员工入党申请书
- 愚公移山个人读书心得体会400字
- 大二学生开学入党申请书范文
- 妇联职工个人入党申请书范文
- 2010新生入党申请书
- 最新教师的入党申请书范文
- 大学生新学期入党申请书范文
- 重叠式换乘站换乘方式及客流组织探讨
- 杭州地铁七堡车辆段上盖平台结构设计有关问题探讨
- 南海城市发展设计中公共交通体系的研究
- 对歌曲情感表现的思考
- 音乐表演舞台艺术体验关键性
- 论现代企业制度与会计改革(1)
- 某轻轨高架桥两种计算结果的对比分析
- 北京地铁车辆检修装备的制造
- 轨道交通安全计算机的研究与设计
- 谈高校音乐教育中的民族音乐
- 公允价值计量:最新研究成果解读与准则运用(1)
- 将美育融入音乐教育的过程
- 香港快速轨道交通运营的成功模式研究
- 关于城市快速轨道交通振动评价量的探讨
- 对影片中音乐使用的认知释解
- 《动手做做看》教学设计
- 《画家和牧童》教学设计
- 《充气雨衣》教学设计
- 《笋芽儿》教学设计
- 《最大的“书”》教学设计
- 《雷锋叔叔,你在哪里》教学设计
- 《玲玲的画》教学设计
- 《恐龙的灭绝》教学设计
- 《丑小鸭》教学设计
- 《蜜蜂引路》教学设计
- 《画风》教学设计
- 《日月潭》教学设计
- 《三个儿子》教学设计
- 《卡罗尔和她的小猫》教学设计
- 《数星星的孩子》教学设计