[zxspectrum] Re: 48<->128, Nastro<->Drive

  • From: Enrico Maria Giordano <e.m.giordano@xxxxxxxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Mon, 15 Sep 2003 14:52:58 +0200


"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


Other related posts: