如何避免虚拟内存不够的问题?(不是简单的系统设置问题,而是从程序入手)

gzl 2004-09-03 04:21:14
写了一个操作文件进行加/解密的程序,可是当一次操作大约在2000个文件以上时,就会出现windows系统拟内存不足的问题,请问有经验的朋友,如何在程序上尽量避免。感谢!!
...全文
126 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
gzl 2004-09-06
  • 打赏
  • 举报
回复
up.
gzl 2004-09-05
  • 打赏
  • 举报
回复
自己顶。
SaturnWang 2004-09-04
  • 打赏
  • 举报
回复
Windows虽然有时候挺弱,也不至于同时打开2000个文件就完蛋了阿。你内存多少,是不是有内存泄露阿。
SaturnWang 2004-09-04
  • 打赏
  • 举报
回复
你如果是对单个文件进行加密/解密,用完一个文件就close掉,不应该会出现这个问题吧。
你是不是递归遍历目录阿?如果是,可以改成循环,不过这个问题应该不大,但是要注意。
因为系统目录下的目录层数,只要不是链接,不可能太深。也就递归个几次而已。但是编程时也要注意这个问题。

gzl 2004-09-04
  • 打赏
  • 举报
回复
自己顶。
gzl 2004-09-04
  • 打赏
  • 举报
回复
TO:SaturnWang(憨憨虎) :
你说的我都做到了。文件的及时关闭。目录遍历在文件操作之前就已经完成了。


TO:SaturnWang(憨憨虎) :
我是256mb的内存。经过半个多月的开发调试,已经在debug模式下没有任何内存泄露的提示被输出。
gzl 2004-09-03
  • 打赏
  • 举报
回复
TO: kvls(冰茶) :
我一次处理的文件不是很大的,重要的是文件数量可能会很多!这取决于用户。
gzl 2004-09-03
  • 打赏
  • 举报
回复
TO: DentistryDoctor(牙科医生) :
我说嘛,你不相信。理解有误,是这样的,不是同时,是依次处理,用循环遍历我的链表就可以了。
kvls 2004-09-03
  • 打赏
  • 举报
回复
File Mapping
toxyboy 2004-09-03
  • 打赏
  • 举报
回复
那就一个一个来阿。既然空间是瓶颈那就只能牺牲执行效率来弥补空间的不足阿。干吗非要并发2000个呢。
DentistryDoctor 2004-09-03
  • 打赏
  • 举报
回复
可时处理这么多?牛!
gzl 2004-09-03
  • 打赏
  • 举报
回复
没有吓人,我操作了我机器上的winnt目录中的所有文件,包括子文件夹,我是遍历的,一共是9千多,这只有22%(我进度对话框中的进度条上算出来的)。

求解!!
DentistryDoctor 2004-09-03
  • 打赏
  • 举报
回复
当一次操作大约在2000个文件以上?不要吓人好不好?
 本课程的主题是: 透析Linux系统编程    不同于市面上的课程,只会把核心主题放到函数的讲解,本课程的核心主题是 Linux系统编程的经验总结 ;    当你在系统编程中,调用一个系统调用来解决问题时,是否考虑过 该系统调用是否会对系统性能带来影响?是否还有最优的方式?    当你在系统编程过程中,遇到问题,是否只是检查代码逻辑,而不会去深入底层去查找问题 ?    本课程将一一解决系统编程带给你的难点,疑点?    比如控制文件IO章节,给出系统文件操作的默认行为,应用中如何修改这些行为,给出文件IO操作的最优方式;   比如系统调用,给出系统调用原理;系统调用的正确使用方式等   比如进程实现,结合底层,对比线程,深入理解两者;给出进程使用经验总结;   比如线程同步,不仅引出互斥锁 条件变量 自旋锁 读写锁使用方式,同时给出各个机制的应用场景 ;   比如 进程间通信,引出各个进程间通信的机制原理,给出各个进程间通信的应用场景;   比如 信号,给出信号在进程中信号处理处理函数的正确使用方式,给出在多线程中信号处理的正确方式;   比如 共享库,给出共享库的实现机制,给出共享库的正确使用方式;   同时 会讲解 系统安全问题 ; 可执行程序的静态布局和动态布局 ;灵活使用内存映射和虚拟内存;系统事件跟踪;   给出程序性能的调优思路;    丰富的项目实例讲解 ,提供宝贵的商业项目开发经验 ; 

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧