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