"FALCO CESARE (BAM - 00541)" wrote: > > > Sì, d'accordo. Ma io avrei gradito di più un'integrazione trasparente > > dell'uso delle pagine aggiuntive come memoria allocata dinamicamente. > > Sarebbe stato troppo scontato. E il "Sinclair Spirit"?! :^) Il "Sinclair Spirit" prevede ottima potenza del linguaggio e comodità di sviluppo per il programmatore. Forse tu ti confondi con il Basic del C64 con tutte le sue POKE. :-) > > No, normalmente non è compito del compilatore gestire la memoria. Il > > compilatore gira la richiesta al sistema operativo che è l'unico in > > grado di sapere se e dove trovare memoria disponibile. > > Nel caso dell'allocazione dinamica hai sicuramente ragione (e il mio > esempio non e' dei piu' felici), ma se parliamo di variabili interne > al programma non sono d'accordo. Altrimenti come faresti a dire al tuo > eseguibile dove si trova in memoria una certa variabile? Avresti bisogno > di definire un puntatore ad intero tutte le volte che definisci un > intero, valorizzandolo con l'indirizzo di quest'ultimo! Infatti è così, solo che lo fa automaticamente il compilatore. Non per niente in C quelle variabili si chiamano "automatiche". E, sempre in C, vengono allocate nello stack. Mentre la memoria allocata dinamicamente normalmente appartiene ad uno spazio che viene chiamato heap. > Non ho mai usato compilatori di linguaggi per Spectrum che non fossero > Assembler, e in questo caso eri comunque tu a preoccuparti dell'intera > gestione della memoria. Sì, normalmente era così. Ma il sistema operativo dello Spectrum mette comunque a disposizione delle chiamate per allocare e rilasciare memoria dinamica. Forse in qualche caso venivano utilizzate. > Tuttavia non ho dubbi che il compilatore C > per lo Spectrum che volesse ammettere una simile sintassi dovrebbe > essere il responsabile della scrittura del codice che permettesse > una cosa di questo tipo. Non se il sistema operativo del 128k fosse stati scritto in modo tale da gestire le varie pagine in modo trasparente nell'allocazione dinamica. EMG -- EMAG Software Homepage: http://www.emagsoftware.it The EMG's ZX-Spectrum Page: http://www.emagsoftware.it/spectrum The Best of Spectrum Games: http://www.emagsoftware.it/tbosg