#define SUPPOSIZIONE_DA_VERIFICARE 1Originariamente inviato da CheCk_OUTSIDE
quello che mi interessava sapere e' perche' e' stata fatta una scelta del genere?
#ifdef SUPPOSIZIONE_DA_VERIFICARE
Che io sappia, non c'e` molta scelta nell'implementazione di un'allocatore di memoria per blocchi di dimensione variabile. Nel senso, la struttura dati di solito e` una variazione sul tema della lista di elementi, dove ogni elemento memorizza la coppia
indirizzo_base_area, dimensione_area.
Utilizzando questo schema per l'allocatore, al deallocatore non rimane molta liberta` di manovra, nel senso che questo libera tutto il chunk indicato (e allora l'informazione sulla dimensione e` ridondante), oppure ne libera solo una parte. La prima scelta e` quella piu` semplice da gestire, presumo che proprio questa semplicita` abbia influenzato gli stesori della libreria standard del C.
#endif // SUPPOSIZIONE_DA_VERIFICARE
Google e` abbastanza una miniera, anche se la maggior parte della documentazione si sofferma piu` sugli studi delle prestazioni degli allocatori in se piuttosto che sulla teoria su cui, mi pare, non e` che ci sia un'enormita di cui scrivere.Per Ikitt.. dove posso trovare letteratura al riguardo??
Un esempio di un paio di allocatori (che dovrei studiare meglio, mannaggia):
http://samba.org/ftp/unpacked/junkcode/talloc/
http://gee.cs.oswego.edu/dl/html/malloc.html