可移动内存是可以理解为VirtualAlloc的预定状态呢?? GlobalAlloc的参数为:GMEM_MOVEABLE的时候, 分配的是可移动内存,这里的可移动内存是可以理解为VirtualAlloc的空闲状态呢??(虚拟内存用VirtaulAlloc分配,有三种状态:预定,预定,提交) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用GlobalAlloc分配的内存是MEM_COMMIT属性的。欢迎指正。#include "stdafx.h"#include "windows.h"#include "stdlib.h"int main(int argc, char* argv[]){ for(int i;i<999;i++) { Sleep(100); HGLOBAL a=GlobalAlloc(GMEM_MOVEABLE,0x1000); if(NULL==a) { printf("alloc error"); return 0; } LPVOID b=GlobalLock(a); if(NULL==b) { printf("lock error"); return 0; } DWORD OldProtection; MEMORY_BASIC_INFORMATION buffer; VirtualQuery(a,&buffer,sizeof(MEMORY_BASIC_INFORMATION)); if(buffer.State==MEM_COMMIT) { printf("MEM_COMMIT\n"); } if(buffer.State==MEM_FREE) { printf("MEM_FREE\n"); } if(buffer.State==MEM_RESERVE) { printf("MEM_RESERVE\n"); } } return 0;} GlobalAlloc的参数为:GMEM_MOVEABLE的时候, 分配的是可移动内存可移动内存是指 可以用 GlobalReAlloc 重新调整大小 深入理解消息路由的进. 正则表达式 求助 如何把多字节字符集项目向unicode项目移植 一个STRING TO BYTE的转换问题 如何最小化之后还原c++ builder写的程序,我只知道cb程序的进程号。 如何得到oracle数据库clob字段的完整数据? 请问这个连接怎么样解决 请问一下SDK是什么概念? 类似奇艺客户端多的桌面应用程序开发 急急急 请教VS2010编译directshow中baseclasses的问题 XML文件读取
#include "windows.h"
#include "stdlib.h"int main(int argc, char* argv[])
{ for(int i;i<999;i++)
{
Sleep(100);
HGLOBAL a=GlobalAlloc(GMEM_MOVEABLE,0x1000);
if(NULL==a)
{
printf("alloc error");
return 0;
} LPVOID b=GlobalLock(a);
if(NULL==b)
{
printf("lock error");
return 0;
}
DWORD OldProtection;
MEMORY_BASIC_INFORMATION buffer;
VirtualQuery(a,&buffer,sizeof(MEMORY_BASIC_INFORMATION));
if(buffer.State==MEM_COMMIT)
{
printf("MEM_COMMIT\n");
}
if(buffer.State==MEM_FREE)
{ printf("MEM_FREE\n");
}
if(buffer.State==MEM_RESERVE)
{
printf("MEM_RESERVE\n");
}
}
return 0;
}