XMS的使用
程序:罗健军 示例程序:胡颖卓
本来我是不准备写这篇文章的,但冷不妨有位同仁问起,也只好做个回答,顺便借此更新一下网页。
XMS,扩充内存管理规范。在16bit DOS系统下,为了使用640k以外的内存,XMS成了一种最好的手法。
在这里,我不想多讲XMS的实现,只对本文所提供的XMS类做一下使用讲解。
例子可以说明一切:
#include"XMS.H"
void main()
{
FILE *fp;
int i;
char *str;
XMS
xms1(1024);
//为xms1指针分配1024k的内存
fp=fopen("C:\\WIN\\WIN386.SWP","rb");
str=(char *)malloc(1024);
for(i=0;i<1024;i++)
{
fread(str,1,1024,fp);
xms1.put((void *)str,(void *)(i*1024),1024);
//将内存指针str中的1024个字节的内容写到,xms1的第i*1024个字节处
}
fclose(fp);
fp=fopen("WIN386.SWP","wb");
for(i=0;i<1024;i++)
{
xms1.get((void *)str,(void *)(i*1024),1024);
//将扩充内存xms1中,从第i*1024个字节处开始的1024个字节的内容写到str中
fwrite(str,1,1024,fp);
}
fclose(fp);
}