28 windows_28_windows_heap 堆
2016-06-10 12:01
246 查看
windows_28_windows_heap 堆
// 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、创建堆
//HeapCreate
HANDLE hHeap = HeapCreate( HEAP_GENERATE_EXCEPTIONS, 1024 * 1024, 0 );
HeapInfo( ); //堆测试
//2、分配内存
//HeapAlloc
CHAR *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、释放内存
//HeapFree
HeapFree( hHeap, 0, pszBuf );
//5、释放堆
//HeapDestroy
HeapDestroy( hHeap );
HeapInfo( );//堆测试
}
int _tmain(int argc, _TCHAR* argv[])
{
//调试看代码
CHAR *pszBuf = (CHAR*)malloc( 100 );
Heap( );
return 0;
}
[/code]
来自为知笔记(Wiz)
相关文章推荐
- 27 windows_27_windows_Virtual_Memory 虚拟内存
- 大数据基础(四)Ubuntu sbt安装和Spark下的使用
- git服务器bitnami一键安装
- 26 windows_26_windows_system 系统信息
- iOS atomic和nonatomic
- 安卓开发学习心得-------Spinner基础
- 对面向接口编程的理解
- 对依赖注入的理解
- 嵌入式Linux裸机开发(十一)——Nandflash
- 对控制反转的理解
- ubuntu bottom
- HDFS基本原理及数据存取实战
- HDFS基本原理及数据存取实战
- HBuild Hybrid App开发(五)图片墙/图片预览
- HDFS基本原理及数据存取实战
- Ionic Tabs
- pthon核心编程-读书笔记:知识点摘录与总结(方便理解和快速记忆)
- 2016年读书记录
- 如何检测Activity是否存活
- pthon核心编程-读书笔记:知识点摘录与总结(方便理解和快速记忆)