Lub cim xeeb faib siv cov haujlwm malloc thiab calloc tsis yog muab faib rau lawv tus kheej. Li no tus txoj kev pub dawbyog siv, thaum twg qhov kev faib lub cim xeeb tshwm sim. Nws pab txo qhov khib nyiab ntawm kev nco los ntawm kev tso nws.
Yuav ua li cas faib lub cim xeeb pub dawb?
Nyob rau hauv C, lub tsev qiv ntawv muaj nuj nqi malloc yog siv los faib ib lub cim xeeb ntawm lub pob. Qhov kev pab cuam nkag mus rau qhov thaiv ntawm lub cim xeeb ntawm tus taw tes uas malloc rov qab los. Thaum lub cim xeeb tsis xav tau lawm, tus pointer raug xa mus rau dawb uas deallocates lub cim xeeb kom nws tuaj yeem siv rau lwm lub hom phiaj.
Yuav ua li cas yog tias koj tsis pub dawb faib lub cim xeeb?
Nyob rau hauv feem ntau, deallocating memory ua ntej qhov kev pab cuam tawm tsis muaj ntsiab lus. Txawm li cas los xij, OS yuav rov ua dua. Free yuav kov thiab nplooj hauv cov khoom tuag; OS yuav tsis tau. Yog vim li cas: Ceev faj nrog "cov khoom tawg" uas suav cov faib.
Puas faib lub cim xeeb kim?
Kev ntsuas tsis txaus ntseeg ntawm tus nqi faib thiab tso cov blocks loj ntawm lub cim xeeb yuav xaus tias nws raug nqi txog 7.5 μs rau txhua tus alloc / dawb khub. Txawm li cas los xij muaj peb qhov sib cais ib-MB tus nqi rau kev faib loj.
Can realloc pub dawb qhov chaw nco yog tias muaj li cas?
Lub realloc muaj nuj nqi faib, faib, lossis tso tawm qhov thaiv ntawm lub cim xeeb teev tseg los ntawm old_blk raws li cov cai hauv qab no: Yog tias old_blk yog NULL, qhov thaiv tshiab ntawm kev nco ntawm qhov loj me bytes yogfaib. Yog tias qhov loj me yog xoom, lub luag haujlwm pub dawb hu ua kom tso lub cim xeeb taw qhia los ntawm old_blk.