Easyhand ha integrato un gestore (dbase) della memoria usata, in modo da controllare il programma ed aiutare lo sviluppatore nel debug e controllo dell'occupazione nel tempo delle risorse.
Lo sviluppatore ha due possibilità per richiedere memoria:
- attraverso le funzioni che hanno come prefisso memo usando il sistema di controllo Easyhand
- in modo convenzionale (malloc() per intenderci) usando però le funzioni ehAlloc() e ehFree()
Nel primo caso Eh avrà sempre una lista delle memoria impegnata visibile a richiesta con una combinazione di tasti da programma e salvata nel rapporto in caso di errore.
In chiusura del programma Eh si occuperà di liberare le risorse impegnate.
L'uso di questo sistema permette:
- Di dare un nome alfanumerico alla memoria impegnata
- Di controllare l'errore di overflow senza gestire le eccezioni
- Di avere sotto controllo la memoria impegnata e risalire ad eventuali errori
- Di proteggere una particolare memoria dall'uso non stabilito
- Migliora le performance e la disponibilità della memoria verso il sistema operativo non essendo una allocazione fissa e vincolante.
Nel secondo si lascia la responsabilità al programmatore ed al sistema operativo di liberare le risorse impegnate, ma il meccanismo di allocazione è indubbiamente più semplice e performante.
In ogni caso Eh si occupa di allocare memoria nel modo ottimale, nella piattaforma ospitante, gestendo bene il Multi-threading, cosa che ad esempio non avviente con l'uso della funzione malloc() in windows.
Inoltre esiste una modalità attivabile definendo a livello di preprocesso EH_MEMO_DEBUG, che indica le memorie non liberate in uscita dal programma (ehExit()/ehError())