用VirtualAlloc函数进行内存分配,然后拷贝数据到该内存,再在此内存上多分配一些空间,
发现原来的内容并未被清空,查看MSDN上说如果带MEM_COMMIT即提交参数,就会初始化内存清零,
这个是为什么?LPVOID lpva;
lpva = VirtualAlloc(NULL, 100, MEM_COMMIT or MEM_RESERVE, PAGE_READWRITE);
//do something
//增加10字节空间
VirtualAlloc(lpva , 100 + 10 , MEM_COMMIT or MEM_RESERVE, PAGE_READWRITE); 发现原100字节的内容不变
发现原来的内容并未被清空,查看MSDN上说如果带MEM_COMMIT即提交参数,就会初始化内存清零,
这个是为什么?LPVOID lpva;
lpva = VirtualAlloc(NULL, 100, MEM_COMMIT or MEM_RESERVE, PAGE_READWRITE);
//do something
//增加10字节空间
VirtualAlloc(lpva , 100 + 10 , MEM_COMMIT or MEM_RESERVE, PAGE_READWRITE); 发现原100字节的内容不变
解决方案 »
- 关于创建按钮
- 同是80后,为什么程序员与程序员的差距那么大呢?[转贴]
- 请教关于Bcgcontrolbar 12 在vs2010中应用的问题
- 有用过win2003-64bit+vs2005+sql2005的吗?
- 关于odbc 记录集指针删除的错误 及内存泄露问题(急)
- 【求助】DLL已经注入exe,但修改其代码流程失败。
- 高分请教,怎么把数据中binary字符串,转化为0x开头的16进制形式的字符串?
- 服务器端用java的serversocket,客户端用VC写的csocket,它们之间能正常接发数据吗?
- 关于STL泛型算法的问题
- ASSERT( )和TRACE( )是在哪个头文件中定义的?
- winpcap 设置过滤器后不能抓包
- 0x8007000EL最后的L什么意思?Little Endian?
我看到MS写最小分配的单位是以字节为单位的,你说的单位是页怎么理解呀