|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jan 2010
Messaggi: 162
|
Informazione rilocazione statica/dinamica di memoria
ragazzi qualcuno potrebbe darmi definizioni ed eventuali differenze della rilocazione statica e dinamica della memoria?
a parte il fatto che nella statica un programma allocato in memoria non può essere più spostato fino alla fine dell'esecuzione, mentre nella dinamica questo non vale, non saprei cos'altro dire. garantisco che su internet non ho trovato un solo sito che spiegassi x bene quest'argomento. grazie
__________________
Acer 5920g: T7500 GeForce 8600GT 2GB DDR2 250HDD |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2000
Messaggi: 1187
|
Dovevi postare nell'area Programmazione.
Comunque statica e` la roba che e` gia` definita al momento della compilazione, e quindi e` allocata al caricamento del prog (e non viene mai deallocata). In sostanza, variabili o oggetti "static" nella terminologia tipica dei linguaggi. Il codice del programma stesso e` implicitamente statico. Dinamica e` quello che viene allocato a runtime, quindi la malloc() in C e l'istanziamento degli oggetti, ed eventualmente deallocato sempre a runtime (o esplicitamente con free() o da un garbage collector.) Si chiama solitamente "heap" questo tipo di memoria ad uso libero. Nell'allocazione dinamica credo rientri anche l'ulteriore caso delle variabili locali, che sono allocate e deallocate all'entrata/uscita dal proprio scope (subroutine/funzione/metodo). Questa memoria e` indicata solitamente come lo "stack". Ultima modifica di Pardo : 13-05-2010 alle 01:07. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Aug 1999
Città: Tolmezzo (UD) - Milano
Messaggi: 13744
|
Sposto io.
Ciao ![]()
__________________
...to go where no one has gone before. One ring to rule them all, one ring to find them, one ring to bring them all and in darkness bind them. Caron, non ti crucciare: vuolsi così colà dove si puote ciò che si vuole, e più non dimandare. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:52.