Stran 1 od 1

LwMEM aka Lightweight memory manager

OdgovorObjavljeno: 29 Apr 2019, 20:45
Napisal/-a tilz0R
Kombinacija jeze in predvsem dolgčasa je botrovala, da sem se odločil spisat svojo knjižnico za standard C lib dinamično alokacijo.

Jezijo me namreč (naštetih nekaj izmed mnogih):
  • Zadeva ni portabilna med prevajalniki
  • Sploh pri GCC-ju je (vsaj pri embedded) potrebno poskrbeti za _sbrk in takšne zadeve
  • Vsak prevajalnik ima drugačno implementacijo (first-fit, best-fit, who-knows-which-fit? kdo ve katera je boljša?)
  • Komplikacije med prevajalniki pri embedded, če bi rad dal malloc na zunanji pomnilnik

Napisal sem svojo knjižnico, imenovano LWMEM, ki implementira malloc/calloc/realloc/free funkcije.
Za le-to je na voljo source koda.
Prednost knjižnice je (vsaj zame) to, da moraš na začetku sam klicati lwmem_assignmem, s katerim določiš regije pomnilnika, kjer manager pomnilnika deluje. Tako imaš lahko interni RAM, če pa ga zmanjka, pa lahko manager skoči na zunanji RAM (kot backup).

Koda je na voljo na Githubu: https://github.com/MaJerle/lwmem
Dokumentacija pa na moji strani: https://majerle.eu/documentation/lwmem/html/index.html
Prenos na voljo na Github releases: https://github.com/MaJerle/lwmem/releases