|
Appunti informatica |
|
Visite: 1720 | Gradito: | [ Picolo appunti ] |
Leggi anche appunti:Impiego del costrutto monitorImpiego del costrutto monitor XII) Scrivere una applicazione I tipi di datoI tipi di dato Al fine di attribuire significato ad una sequenza di bit occorre Problemi di cooperazione nel modello a memoria comuneProblemi di cooperazione nel modello a memoria comune IV) Scrivere una applicazione |
Vale la pena, a questo punto, di descrivere brevemente le varie fasi attraverso le quali l'idea diventa programma eseguibile, attraverso un sorgente C.
In primo luogo occorre analizzare il problema e giungere alla definizione dell'algoritmo, scindendo il problema originale in sottoproblemi di minore complessità. Banale, si tratta dell'unico approccio valido indipendentemente dal linguaggio utilizzato
A questo punto ci si procura un editor, cioè un programma di videoscrittura, piu' o meno sofisticato, in grado di salvare il testo prodotto in formato ASCII puro e si inizia a digitare il programma. 'Si inizia' perché può essere utile procedere per piccoli passi, scrivendone alcune parti, compilandole ed eseguendole per controllo insomma, meglio non mettere troppa carne al fuoco.
Dopo avere scritto una parte di programma di 'senso compiuto', tale, cioè, da poter essere compilata e consolidata onde controllarne il funzionamento, si mette da parte l'editor e si dà il file sorgente in pasto (che di solito ha estensione .C) al compilatore.
In genere il compilatore provvede a tutte le operazioni necessarie: lancia il preprocessore per effettuare le macrosostituzioni necessarie, compila il sorgente così modificato e, se non vi sono errori, lancia il linker, producendo in output direttamente il file eseguibile.
Nel caso in cui il compilatore segnali errori , il linker non viene lanciato e non è prodotto l'object file, che in questo caso sarebbe inutilizzabile. Occorre ricaricare il sorgente nell'editor ed effettuare le correzioni necessarie, tenendo presente che a volte i compilatori vengono fuorviati da errori particolari, che danno origine a molte altre segnalazioni in cascata. E' dunque meglio cominciare a coreggerli a partire dal primo segnalato; è possibile che molti altri scompaiano 'da sé'. A questo punto può essere nuovamente lanciato il compilatore.
Attenzione, però: il compilatore può segnalare due tipi di errori: gli error ed i warning. La presenza anche di un solo error in compilazione impedisce sempre l'invocazione del linker: si tratta per lo più di problemi nella sintassi o nella gestione dei tipi di dato per i quali è necessario l'intervento del programmatore. I warning, al contrario, non arrestano il processo e viene pertanto prodotto comunque un file eseguibile. Essi riguardano situazioni di ambiguità che il compilatore può risolvere basandosi sui propri standard, ma che è opportuno segnalare al programmatore, in quanto essi potrebbero essere la manifestazione di situazioni non desiderate, quali, ad esempio, errori di logica. E' raro che l'eseguibile generato in presenza di warning funzioni correttamente, ma non impossibile: alcuni messaggi di warning possono essere tranquillamente ignorati a ragion veduta.
Se gli errori sono segnalati dal linker, è ancora probabile che si debba intervenire sul sorgente, come accennato poco sopra (pag. ), e quindi lanciare nuovamente il compilatore; in altri casi può trattarsi di problemi di configurazione del linker stesso o di una compilazione effettuata senza indicare le librerie necessarie: è sufficiente lanciare ancora il linker dopo aver eliminato la causa dell'errore.
Il file eseguibile prodotto dal linker ha, in ambiente DOS, estensione .EXE o .COM. La scelta tra i due tipi di eseguibile dipende, oltre che dalle caratteristiche intrinseche del programma, anche dalle preferenze del programmatore. Avremo occasione di tornare su tali argomenti, esaminando i modelli di memoria (pag. ) e della struttura degli eseguibili (pag. e dintorni).
Come si vede, il tutto non è poi così complicato
Appunti su: |
|