社区
C语言
帖子详情
50分求一个BC3.1下的XMS管理程序,我的调不通.
ydyuse
2003-01-13 09:01:27
要求,不用INT15H。系统用DOS6.22
...全文
45
9
打赏
收藏
50分求一个BC3.1下的XMS管理程序,我的调不通.
要求,不用INT15H。系统用DOS6.22
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ydyuse
2003-01-15
打赏
举报
回复
好,给我吧,我马上给分
spirix
2003-01-15
打赏
举报
回复
can you make that?
spirix
2003-01-15
打赏
举报
回复
// xmstest.cpp
//===========================================
#include "xmslib.h"
#include <STDIO.H>
MyXMS Mxms;
void main()
{
FILE *fp1,*fp2;
unsigned int Max;
unsigned Total;
unsigned long fsize=0,Xms_Size=0,FileLenth=0;
long size_=0;
// buff= new far char[2024];
char buff[2024]="ddddddddddddddddddddddddddddddddddd\
dddddddddddddddfffffffffffffffffffffffffffffffffffff\
ddddddddddddddddddddddddddddddddddddddddddddddddddddd\
dddddddddddddddddddddddddddddddddddddddddddddddddddd\
dddddddddddddddddddddddddddddddddddddddddddddddddddd\
dddddddddddddddddddddddddddddddddddddddddddddddddddd\
dddddddddddddddddddddddddddddddddddddddddddddddddddd\
dddddddddddddddfffffffffffffffffffffffffffffffffffff\
ddddddddddddddddddddddddddddddddddddddddddddddddddddd\
dddddddddddddddddddddddddddddddddddddddddddddddddddd\
dddddddddddddddddddddddddddddddddddddddddddddddddddd\
dddddddddddddddddddddddddddddddddddddddddddddddddddd\
dddddddddddddddddddddddddddddddddddddddddddddddddddd\
dddddddddddddddfffffffffffffffffffffffffffffffffffff\
ddddddddddddddddddddddddddddddddddddddddddddddddddddd\
dddddddddddddddddddddddddddddddddddddddddddddddddddd\
dddddddddddddddddddddddddddddddddddddddddddddddddddd\
dddddddddddddddddddddddddddddddddddddddddddddddddddd\
ddddddddddddddddddddddddddddddddddddddddddddddddddd\
dddddddddddddddfffffffffffffffffffffffffffffffffffff\
ddddddddddddddddddddddddddddddddddddddddddddddddddddd\
dddddddddddddddddddddddddddddddddddddddddddddddddddd\
dddddddddddddddddddddddddddddddddddddddddddddddddddd\
dddddddddddddddddddddddddddddddddddddddddddddddddddd\
ddddddddddddddddddddddddddddddddddddddddddddddddddd";
printf(" %d ",XMS_Test());
if((fp1= fopen("Temp.bmp","rb+"))==NULL) printf("Wrong");
if((fp2=fopen("out.exe", "wb" ))==NULL) printf("Wrong");
unsigned handle;
printf(" %d ", Mxms.XMS_Get(handle,100));
Mxms.XMS_Check(Max,Total);
printf("%d,%u|",Max,Total);
Mxms.Xmd.Source_Handle=0;
Mxms.Xmd.Source_Offset=(unsigned long)(buff);
Mxms.Xmd.Target_Handle=handle,
Mxms.Xmd.Target_Offset=0;
fseek(fp1,0L,2);
FileLenth=ftell(fp1);
rewind(fp1);
while(1)
{
size_=ftell(fp1);
fsize=fread((char far *)buff,1,2024,fp1);
Mxms.Xmd.Target_Offset=Xms_Size;
Mxms.Xmd.Move_Bytes=fsize;
Mxms.XMS_Move();
Xms_Size+=fsize;
// fseek(fp1,Xms_Size,0);
// Mxms.Xmd.Target_Offset+=fsize;
if (Xms_Size>=FileLenth) break;
}
//Xms_Size=Mxms.Xmd.Target_Offset;
fsize=0;
Mxms.Xmd.Source_Handle=handle;
Mxms.Xmd.Source_Offset=0;
Mxms.Xmd.Target_Handle=0,
Mxms.Xmd.Target_Offset=(unsigned long)(buff);
while(1)
{
if(Xms_Size-fsize>2024)
{
Mxms.Xmd.Source_Offset=fsize;
Mxms.Xmd.Move_Bytes=2024;
Mxms.XMS_Move();
fwrite(buff,2024,1,fp2);
fsize+=2024;
}
else
{
Mxms.Xmd.Source_Offset=fsize;
Mxms.Xmd.Move_Bytes=Xms_Size-fsize;
Mxms.XMS_Move();
fwrite(buff,Xms_Size-fsize,1,fp2);
break;
}
}
Mxms.XMS_Free(handle);
fclose (fp1);
fclose (fp2);
}
// bc3.1下运行
spirix
2003-01-14
打赏
举报
回复
我给的文档不能用吗?
我已经用它在dos下开发过两个软件了,用不用把测试程序也给你?
ydyuse
2003-01-13
打赏
举报
回复
只要可用,肯定给分
spirix
2003-01-13
打赏
举报
回复
请参考我的文档!
http://www.csdn.net/develop/read_article.asp?id=7198
记得给分哦!
ydyuse
2003-01-13
打赏
举报
回复
DOS4GW 模式??不好意思,我不明白是什么?
Nepton
2003-01-13
打赏
举报
回复
使用 DOS4GW 模式写程序
ydyuse
2003-01-13
打赏
举报
回复
各位继续!
Linux运维入门到高级
目 录1. Linux入门篇.............................................................................................................. 31. 1 Linux操作系统简介............................................................
纯DOS下内存的管理—实模式下访问4GB内存
纯DOS下内存的管理—实模式下访问4GB内存DOS操作系统最早设计时,PC机的硬件系统只支持1M字节的寻址空间,所以DOS只能管理最多1M字节的连续内存空间。在这1M内存中,又只有640K被留给应用程序使用,它们被称为常规内存或基本内存,其它384K被称为高端内存,是留给视频显示和BIOS等使用的。在1982年,640K内存对微型计算机来说显得绰绰有余,人们甚至认为,640K的内存可以用来干任
Linux运维-day58-tomcat与阿里云
一、tomcat 1.1 tomcat LNMT ※※※ 网站代码 PHP---LNMP Java----LNMP 1.2 JVM Windows版本的QQ放到Linux是否可以运行?不能 代码的可移植性:1份代码可以运行在不同的系统中 JAVA程序 会被放在1个叫虚拟机容器 JVM(Java Virtual Machine):Java虚拟机,运行Java程序,1份...
Docker入门
一、Docker入门 1. 概述 1.1 基本介绍 Docker 是
一个
开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到
一个
轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 官方文档:https://docs.docker.com/ 1.2 Docker能做什么? 比较Docker
docker
文章目录docker学习1、Docker概述1.1 docker为什么会出现?1.2Docker历史1.3 Docker为什么能出现?2、Docker安装2.1 docker的基本组成image:镜像containers:容器仓库:respository2.2 安装docker2.3 配置阿里云镜像加速2.4 回顾hello流程2.5 底层原理Docker为什么比虚拟机快!?3、Docker的常用命令3.1 帮助命令3.2 镜像命令1.查看镜像命令docker images2.搜索镜像docker sear
C语言
70,023
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章