中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » [求助]DOS下一次读写文件怎样超过64KB限制?
作者:
标题: [求助]DOS下一次读写文件怎样超过64KB限制? 上一主题 | 下一主题
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『楼 主』:  [求助]DOS下一次读写文件怎样超过64KB限制?

想了解一下在写DOS下一次读写文件超过64KB限制的程序(这个是不是跟文件无关而是跟DOS系统和使用扩展内存有关?)

一般用fread(),fwrite(), 但是一次读写文件好象不能超过64KB!
这使得读写非常多或大的文件较慢.

那么,请教一下:
有什么好办法?
(我是为了给我的TODISK提速的,类似GHOST的系统备份工具,是要超大内存才能提速的那种...)
有什么好推荐呢?

[ Last edited by GOTOmsdos on 2007-2-21 at 01:15 PM ]

2007-2-21 11:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zqlcch
初级用户





积分 178
发帖 85
注册 2006-7-6
状态 离线
『第 2 楼』:  

用DJGPP可以实现一次读写超过64k的内容,因为DJGPP for dos编译出来的是32位的应用程序,我刚才也试过了,完整读写了c:\bootfont.bin文件。
不知楼主是否了解DJGPP,去下一个吧。
楼主应该是用BIOS中断读写扇区,好像DJGPP中调用BIOS中断要切换回实模式,不知是否会影响速度。
不妨试试。。。。

2007-2-22 08:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 3 楼』:  

请教一下:
我在BC31下写的代码是不是大部分不能在DJGPP中用了?

2007-2-22 13:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 4 楼』:  

另, BC怎么不支持内联汇编呢?
编译说 eax  cr0 等等 没有定义 !
怎么解决呢?

2007-2-22 13:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zqlcch
初级用户





积分 178
发帖 85
注册 2006-7-6
状态 离线
『第 5 楼』:  

bc好像只支持实模式的汇编,EAX之类的要加一个指令前缀,具体是什么忘了。
很久没有摸这些东西了,十分惭愧,不知道本是大师懂吗

大部分代码都可以在DJGPP下面使用。

2007-2-23 04:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zqlcch
初级用户





积分 178
发帖 85
注册 2006-7-6
状态 离线
『第 6 楼』:  

DJGPP编译出来的程序直接在保护模式下运行,完全可以直接声明一个超大的缓冲区
以读取数据,调用中断时的切换就不必担心了,DJGPP直接做好,换平台吧。

2007-2-23 05:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 7 楼』:  

BC 编译 32位指令的问题,已解决,多谢...

2007-2-23 06:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 8 楼』:  

下了一些DOS直接访问4GB内存的源码,但都是汇编的,或C中内嵌汇编的,不能用C来调用它们,等于不起作用...
有谁有可以用C直接调用的呢?(最好是能有读写文件的功能,并可一次读写超过64KB的...)

2007-2-23 09:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: