标签:
// windows_28_windows_heap.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>#include <stdlib.h>void HeapInfo( ){//默认堆句柄HANDLE hHeap = GetProcessHeap( );printf( "Default Heap:%p\n", hHeap );//所有堆的句柄HANDLE hHeaps[256] = { 0 };DWORD nCount = GetProcessHeaps( 256, hHeaps );printf( "All Heap:%d\n", nCount );for (DWORD nIndex = 0; nIndex < nCount; nIndex++){printf( "\t%d: %p\n", nIndex + 1, hHeaps[nIndex] );}}void Heap( ){HeapInfo( );//堆测试//1、创建堆//HeapCreateHANDLE hHeap = HeapCreate( HEAP_GENERATE_EXCEPTIONS, 1024 * 1024, 0 );HeapInfo( ); //堆测试//2、分配内存//HeapAllocCHAR *pszBuf = (CHAR*)HeapAlloc( hHeap, HEAP_ZERO_MEMORY, 100 );//3、使用内存printf( "HeapCreate:%p\n", hHeap );printf( "HeapCreateBuf:%p\n", pszBuf );//strcpy_s( pszBuf, ( rsize_t)strlen( "hello Heap\n" ), "hello Heap\n" );//printf( "%s", pszBuf );//4、释放内存//HeapFreeHeapFree( hHeap, 0, pszBuf );//5、释放堆//HeapDestroyHeapDestroy( hHeap );HeapInfo( );//堆测试}int _tmain(int argc, _TCHAR* argv[]){//调试看代码CHAR *pszBuf = (CHAR*)malloc( 100 );Heap( );return 0;}
标签:
原文地址:http://www.cnblogs.com/nfking/p/5573500.html