PG3D & DJGPP: FAQ

Attenzione: questa pagina viene aggiornata nel tempo e questa è solo una versione iniziale.
La versione aggiornata di questa pagina è online.

Questa pagina è destinata ad archiviare le domande che riceverò, se avete problemi ad usare DJGPP per imparare la computergrafica col libro di Andrea. Prima di scrivermi quindi assicuratevi di aver letto tutto l'articolo e di aver guardato l'ultima versione online di questa pagina. Se non trovate in nessuna parte la risposta al vostro problema, allora scrivetemi e sarò felice di aiutarvi.
 

0) Cosa è stato ultimamente aggiornato?
Ecco qui un log storico a stack dei cambiamenti (gli ultimi fatti vengono prima)

corretto programma del fuoco e aggiunta una libreria per le bitmap (vedi cap3/bitmap)
 

1) SHIFT
Con DJGPP non è necessario usare il trucchetto degli shift: quando sono
attivate le ottimizzazioni, DJGPP stesso converte automaticamente le
moltiplicazioni e le divisioni convertibili in una serie di shift o in modo
misto altrettanto efficiente. Questo è molto comodo, perchè permette di
scrivere il codice in maniera più leggibile (cos'è più leggibile, x+y*320
oppure x+(y<<8)+(y<<6) ?)
 

2) OTTIMIZZAZIONI
Come ho detto nell'articolo, nella maggior parte dei casi (è il caso di
questi programmi) è meglio lasciare a DJGPP la maggior parte delle
ottimizzazioni, perchè pensa lui ad "amalgamare efficientemente il tutto",
quando la direttiva -O3 è attivata.
 

3) DEBUGGER A BASSO LIVELLO
Esiste anche un interessante debugger a basso livello (cioè vi fa vedere
il codice assembly corrispondente a ciascuna istruzione ad alto livello). Si
chiama FSDB e potete attivarlo anche da RHIDE: dopo aver costruito il
programma (Build All), andate sul menù - della barra dei menù in alto
(quello a sinistra del menu File) e scegliete FSDB. Quando siete in FSDB
premete F1 per vedere la nutrita serie di comandi messi a disposizione.

4) UTILI WARNINGS
Quando scrivete i vostri programma consiglio di usare l'opzione -Wall
(significa Warning All) di gcc, oppure, lavorando con RHIDE, andate su
Options/Compilers/Warnings e spuntate la casella -Wall.

Questa opzione attiverà molti warnings utili, non solo per i principianti,
ma anche per gli esperti: con questa opzione il compilatore è in grado di
scovare molti reali e potenziali bugs e di segnalarveli. DJGPP è un
compilatore molto intelligente e la diagnostica è davvero accurata.

5) Il DPMI di DJGPP
CWSDPMI è il server DPMI adatto per DJGPP e per gli eseguibili
con esso creati consultare il file .doc allegato nel suo zip per informazioni
dettagliate sull'uso. Non serve nella shell DOS di windows poichè
windows fornisce già i servizi di un DPMI.

Il file dell'ultima versione si chiama csdpmi4b.zip
Se vi manca, lo zip-picker a:

        http://www.delorie.com/djgpp/zip-picker.html

vi segnalerà dove scaricarlo se scegliete DOS come sistema
operativo da usare con DJGPP.
Come si installa? Facile: unzippatelo con la sua struttura delle
directory dentro \djgpp
 

exit(0);