Memory

4.2
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:

  1. attraverso le funzioni che hanno come prefisso memo usando il sistema di controllo Easyhand
  2. 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:

  1. Di dare un nome alfanumerico alla memoria impegnata
  2. Di controllare l'errore di overflow senza gestire le eccezioni
  3. Di avere sotto controllo la memoria impegnata e risalire ad eventuali errori
  4. Di proteggere una particolare memoria dall'uso non stabilito
  5. 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())
See also:
Easyhand C/C++: Memory | Last modified: 18/03/2011 07.05.52 Europe/Rome | #1.11
P.. 138
Easyhand C/C++
Una mano alle tue idee.
|
Privacy Policy