回 帖 发 新 帖 刷新版面

主题:关于DOS内存的几个问题

经过本论坛老师们的指教,初步了解了节约DOS内存的意义(以前没这个概念),但还有一些问题模模糊糊,我想还是搞清楚一些,再往下进行好些。
1:程序中DATA语句,存数据,也可以建文件,存数据;这两者各有方便不说,从节约内存讲,是不是建文件更好?
2:我想把程序的中间计算结果存入文件,然后退出这段程序,达到释放内存目的,再后,调出新程序段,把需要的数据从文件读出,定义新的数组等,再计算新的结果,如此反复,直到最终。这种想法可行吗?
3:如此,需要很多文件,QB对文件数量有限制吗?
4:对文件的长度有限制吗?
  诚恳的等待赐教。

回复列表 (共3个回复)

沙发

1时间代价和空间代价是成反比的。这里的空间代价指内存
建立文件可以节省内存没错,代价就是每次读取文件的缓冲时间
2没有必要这么麻烦。可行是可行,但你的目的是什么?你那么做每次需要的空间都是基本上等大的,为什么要连续释放申请
3没有
4应该是没有,但文件单条记录长度不要超过buffer大小

板凳

1.如果以节省内存为目的,文件的确是更方便,而且安全.
  因为DOS的640K内存限制,有些文件寄存是很有必要的,
  我现在的操作方式: 用模拟器(在内存中)建立虚拟文件系统,
  也就是说在内存中保存文件,速度也有了,空间也有了.

2.如有必要,是可行的.特别是大量的数据交换和分模块操作的理念.
  QB里有很方便的数组保存读入语句  BSAVE  BLOAD

3.4 请参看QB里的HELP
  
3.文件号的限制是1-255,也就是说,你最多只能同时打开255个文件.

4.文件长度受空闲空间限制,另外最大不能超过2G,因为这是长整形的限制,
  超过这个值无法操作.
  随机文件单记录长度不能超过32K

3 楼

感谢雪光君,感谢MOZ君,看来问题不大,我该开步了,将来随时请教。

我来回复

您尚未登录,请登录后再回复。点此登录或注册