void CMainFrame::Onabc()
{
UINT nNewSize = (UINT)(2048*2048*200); // 1024.0) * 1024;
double * pNewBuffer =(double*) VirtualAlloc(NULL,nNewSize,MEM_COMMIT,PAGE_READWRITE);
if (pNewBuffer)
{
//测试虚拟内存。
double Block;
for(int i =0;i<100;i++)
{
Block=10.11*i;
memcpy(&pNewBuffer[i],&Block,sizeof(Block));
}
double tt;
tt=(pNewBuffer[99]);
CString s;
s.Format(_T("The total is %f"),tt);
AfxMessageBox(s) ;
//删除分配的内存。
VirtualFree(pNewBuffer,0,MEM_RELEASE);
}
}
本文介绍了一个使用C++实现的虚拟内存分配与测试方法。通过VirtualAlloc函数申请200MB大小的虚拟内存,并利用memcpy进行数据填充,最后释放所分配的内存。此示例有助于理解虚拟内存管理和操作。
1万+

被折叠的 条评论
为什么被折叠?



