【Windows核心编程笔记】第十八章 堆

进程的默认堆

进程初始化时创建,默认大小为1M

许多Windows函数用到了进程的默认堆,默认堆的访问必须依次进行

默认堆由系统自动创建并在进程终止后自动销毁,我们无法控制

GetProcessHeap 获取默认堆的句柄

 

为什么要创建额外的堆

对组件进行保护

更有效的内存管理

局部访问

避免线程同步开销

快速释放

 

如何创建额外的堆

HeapCreate 进程中创建额外的堆

HeapAlloc 从堆中分配内存块

HeapReAlloc  调整内存块大小

HeapSize       获取内存块大小

HeapFree       释放内存块

HeapDestroy 销毁堆

 

其他堆函数

GetProcessHeaps  获取进程中多个堆的句柄

HeapValidate 验证堆的完整性

HeapCompact       接合堆中闲置的内存块,并撤销调拨给堆中闲置内存块的存储器

HeapLock、HeapUnlock 用于线程同步,指定堆的所有者(一般内部调用,无需手动)

HeapWalk遍历堆,用于调试

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值