1.進程在建立的時候,會系統會分配一個默認堆給它。能夠經過GetProcessHeap()來得到;函數
2.建立額外堆的緣由在於:線程
a.能夠對組件進行保護(其實就是把不一樣的數據分開放置,從而避免內存覆蓋以內的錯誤);進程
b.更有效的內存管理(其實就是減小內存碎片);內存
c.局部訪問 (其實就是把相鄰的數據放在一塊兒,從而減小內存頁的交換);同步
d.能夠避免線程同步的開銷(同一個堆在某一時刻只能由一個線程去釋放,分配堆中的內存,這就涉及到了同步);內存管理
e.快速釋放(能夠一次性釋放整個堆);數據
3.建立函數:HeapCreate()錯誤
4.malloc和heapCreate區別:一個是crt中的API,一個是Windows中的API,在Windows中,malloc的在Windows中的底層實現也是調用了heapCreate;底層