PBYTE pNewHeap = (PBYTE) ::HeapAlloc(GetProcessHeap(), 0, nHeapSize);

#include <process.h>
#include <windows.h>
#include <stdio.h>

void MemHeap(void);
void main()
{
 MemHeap();
}


//
//分配堆内存。
//蔡军生 2007/11/26 QQ:9073204 深圳
void MemHeap(void)
{
    //
    const int nHeapSize = 1024;
    PBYTE pNewHeap = (PBYTE) ::HeapAlloc(GetProcessHeap(), 0, nHeapSize);
    
    if (pNewHeap)
    {
        //测试分配堆内存。
        ZeroMemory(pNewHeap,nHeapSize);
        memcpy(pNewHeap,"分配堆内存成功\r\n",sizeof("分配堆内存成功\r\n"));
        //OutputDebugString((LPCSTR)pNewHeap);
        printf("NewHeap:%s\n",(LPCSTR)pNewHeap);
        
        //释放内存
        BOOL bRes = ::HeapFree(GetProcessHeap(), 0, pNewHeap);
        if (bRes != TRUE)
        {
            OutputDebugString("释放内存出错\r\n");
        }
    }
    else
    {
       printf("NewHeap NULL!\n");

    }
    
}

/*
NewHeap:分配堆内存成功

Press any key to continue
*/

 

posted @ 2018-03-19 13:54  sky20080101  阅读(78)  评论(0)    收藏  举报