http://www.cnblogs.com/risunlee/p/5309855.html 2016 1. 標(biāo)準(zhǔn)malloc() 和 free() 庫(kù)函數(shù)的缺陷: 1)在小型的嵌入式系統(tǒng)中,可能不可用。 2)具體實(shí)現(xiàn)相對(duì)較大,占用較多寶貴的代碼空間。 3)通常不具備線程安全性。 4)具有不確定性,每次調(diào)用的時(shí)間開(kāi)銷可能不同。 5)會(huì)產(chǎn)生內(nèi)存碎片。 6)會(huì)使得鏈接器、配置的復(fù)雜。 2. 內(nèi)存分配方案范例。 1)Heap_1.c 僅實(shí)現(xiàn) pvPortMalloc(),而沒(méi)有實(shí)現(xiàn)pvPortFree(),但是 Heap_1.c 總是具有確定性。 2)Heap_2.c 采用最佳匹配算法來(lái)分配內(nèi)存,并支持內(nèi)存釋放。 3)Heap_3.c 調(diào)用 malloc() 和 Free(),但掛起任務(wù)調(diào)度器使得函數(shù)具備線程保護(hù)的安全特性。 |
|