30.12.2012 Views

Amiga Magazine Online

Amiga Magazine Online

Amiga Magazine Online

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

l eventualmente obsolete. UBYTE Copyright[]=VERS;<br />

In ogni disco del Developer Upgrade Kit (DU), c'è un file In questo modo il compilatore inserirà nell'eseguibile del<br />

chiamato "DiskVersion" che contiene un numero di ver- nostro programma una copia delle due stringhe, la prima<br />

sione attuale della raccolta di programmi; quello del delle quali verrà riconosciuta e stampata dal comando<br />

quinto disco riporta: version.<br />

Come i programmi, anche i file di include hanno i loro<br />

numeri di versione e sono raccolti nell'intestazione del fi-<br />

le: prendiamo per esempio il file include/exec/types.h<br />

(nell'archivio include-h.lha del disco 2).<br />

La stringa:<br />

. . .<br />

/*<br />

* * $VER: types.h 40.1 (10.8.93)<br />

* * Includes Release 40.15<br />

SVER: types.h 40.1 (10.8.93)<br />

è, a meno di un byte nullo iniziale, una stringa di versione<br />

conforme allo standard introdotto con il 2.0, e cioè:<br />

\O$VER: nomeapp W.RR (GG.MM.AAAA)<br />

La versione e la data sono aggiornati automaticamente<br />

dal comando bumprev, la cui sintassi è:<br />

bumprev vers nomeapp<br />

per esempio impartendo:<br />

bumprev 42 hello<br />

bumprev: creating new file<br />

bumprev: bumped hello-rev to revision 1<br />

la prima volta saranno generati tre file: hellorev.i, hel-<br />

lo-rev.h e hello-rev.rev. I1 file hello-rev.h contiene le de-<br />

finizioni:<br />

#def ine VERSION 4 2<br />

#def ine REVISION 1<br />

#def ine DATE "4.6.96"<br />

#def ine VERS "hello42.1"<br />

#def ine VSTRING "hello 42.1 (4.6.96)\r\nU<br />

#def ine VERSTAG "\O$VER: hello 42.1 (4.6.96)"<br />

alle quali dovremo fare riferimento nel file principale del<br />

programma C, per esempio con:<br />

#include "hello-rev.hU<br />

...<br />

UBYTE versione []=VERSTAG;<br />

Quando il programma sarà cresciuto sufficientemente in<br />

funzionalità o affidabilità sarà il momento di aggiornare<br />

la sua revisione con un nuovo bumprev:<br />

bumprev 42 hello<br />

che darà come risultato:<br />

bumprev: bumped hellorev to revision 2<br />

Per passare dalla versione 42 alla 43 non basta:<br />

bumprev 43 hello<br />

perché in questo modo cambia sì la versione, ma il numero<br />

di revisione viene solo incrementato senza tornare<br />

a 1: è necessario cancellare i file hello-rev.#? e crearne<br />

dei nuovi con:<br />

delete hello-rev.#?<br />

bumprev 43 hello<br />

i riferimenti all'interno del programma principale rimangono<br />

invariati.<br />

Per ulteriori informazioni sulle stringhe di versione si può<br />

fare riferimento all'articolo "2.0 Version Strings" in <strong>Amiga</strong><br />

Mai1 MarcNApril 1991.<br />

Già a partire da <strong>Amiga</strong> OS 2.0, ma soprattutto con il 3.0 e<br />

il 3.1, i crash di sistema erano diventati così rari e soprat-<br />

tutto difficili da produrre che i programmatori Commodo-<br />

re pensarono bene di scrivere cinque programmini in<br />

grado di garantire.. . un crash immediato! crash3, crash5,. ..<br />

crasha producono infatti altrettanti Software Failure di ti-<br />

po #8000-0003/5/ ... /a, e sono utili per verificare il funzio-<br />

namento di programmi che dovrebbero intercettarli, co-<br />

me TNT, GOMF ecc.<br />

Conclusioni<br />

I1 testo "tutorials/<strong>Amiga</strong>-Debugging" che si trova tra i tu-<br />

torial del primo disco, è una lettura raccomandata soprat-<br />

tutto a chi ha poca o nessuna esperienza di debugging su<br />

<strong>Amiga</strong>.<br />

In 60 kb di testo sono trattati teoria e pratica del debug-<br />

ging di programmi <strong>Amiga</strong>, gli errori di programmazione

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!