LwMEM aka Lightweight memory manager

programski jeziki in programiranje

Moderator: tilz0R

LwMEM aka Lightweight memory manager

OdgovorNapisal/-a tilz0R » 29 Apr 2019, 21:45

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
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1699
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 221 krat
Prejel zahvalo: 442 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Vrni se na Software

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 1 gost