如何将内存中的数据放入交换文件,需要时在取出

sunchaohuang 2010-01-28 11:23:35
invoke GlobalAlloc,GPTR,1000000
mov @lpLastMem,eax
xor eax,eax
mov edi,@lpLastMem
mov ecx,1000000
cld
rep stosb

循环分配数据大概1500次后该进程挂掉,系统会将其他进程中的数据丢到交换文件中,当该进程所占用的内存被释放后,在打开其他进程如IE、文本编辑器等发现页面刷新很慢,估计是从交换文件中提取数据到物理内存中。

请问如何修改该代码可将该进程产生的数据(已经在内存中的大概1.5G的数据)放入交换文件当需要时在取出。从而保证系统中的其他进程(不出现卡的现象)能够正常运行。
...全文
126 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
船过水无痕 2010-02-05
  • 打赏
  • 举报
回复
使用VitualAlloc 分配虚拟内存
http://blog.csdn.net/shenzi/archive/2009/10/14/4671988.aspx
yicaolove 2010-02-05
  • 打赏
  • 举报
回复
分64K bytes的数据块读取
sunchaohuang 2010-02-05
  • 打赏
  • 举报
回复
没人来结不了贴啊~~~来个人
  • 打赏
  • 举报
回复
invoke GlobalAlloc,GMEM_MOVEABLE+GMEM_DISCARDABLE,1000000
sunchaohuang 2010-02-01
  • 打赏
  • 举报
回复
顶一下

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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