harib07a:
  整理內(nèi)存管理函數(shù):memman_alloc和memman_free能夠以最小1字節(jié)進(jìn)行內(nèi)存管理,但時(shí)間久了后,容易產(chǎn)生外部碎片;為此,筆者編寫了一些以0x1000字節(jié)為單位進(jìn)行內(nèi)存分配和釋放的函數(shù),它們會把指定的內(nèi)存大小按照0x1000字節(jié)為單位向上舍入(roundup),0x1000大小正好是4KB.
  1、向下舍入:以0x1000為單位向下舍入
    0x1234_5678 & 0xffff_f000 = 0x1234_5000;
    i = i & 0xffff_f000 ;
  2、向上舍入:以0x1000為單位向上舍入
    i = (i + 0xfff) & 0xffff_f000

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

unsigned int memman_alloc_4k(struct MEMMAN *man, unsigned int size) {
    unsigned int a;    //以0x1000為單位向上舍入的方式進(jìn)行內(nèi)存分配
    size = (size + 0xfff) & 0xfffff000;
    a = memman_alloc(man, size);    return a;
}int memman_free_4k(struct MEMMAN *man, unsigned int addr, unsigned int size) {    int i;    //以0x1000為單位向上舍入的方式進(jìn)行內(nèi)存釋放
    size = (size + 0xfff) & 0xfffff000;
    i = memman_free(man, addr, size);    return i;
}

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式