1.进程在建立的时候,会系统会分配一个默认堆给它。能够经过GetProcessHeap()来得到;函数
2.建立额外堆的缘由在于:线程
a.能够对组件进行保护(其实就是把不一样的数据分开放置,从而避免内存覆盖以内的错误);进程
b.更有效的内存管理(其实就是减小内存碎片);内存
c.局部访问 (其实就是把相邻的数据放在一块儿,从而减小内存页的交换);同步
d.能够避免线程同步的开销(同一个堆在某一时刻只能由一个线程去释放,分配堆中的内存,这就涉及到了同步);内存管理
e.快速释放(能够一次性释放整个堆);数据
3.建立函数:HeapCreate()错误
4.malloc和heapCreate区别:一个是crt中的API,一个是Windows中的API,在Windows中,malloc的在Windows中的底层实现也是调用了heapCreate;底层