Page 640 - Informatica dalla A a Z
P. 640

Progetti Multifile



           È sempre consigliabile dividere i progetti di una certa complessità in files separati.


           Questo modo d’operare offre numerosi vantaggi. Vediamo alcuni esempi pratici.

           Supponiamo di avere un file che contenga alcune funzioni che permettono la connessione
           ad internet per effettuare certe operazioni. Ora facciamo anche finta che pur funzionando,
           queste funzioni siano particolarmente lente e occupino un sacco di memoria, non solo,

           potrebbero contenere pure qualche bug.

           Con un progetto multifile, ad esempio, sarà possibile continuare lo sviluppo del progetto
           mentre magari un nostro collega si occuperà di apportare qualche modifica al file prece-

           dente, cercando e correggendo i vari bug presenti. Quando poi avrà terminato il lavoro, il
           nuovo file andrà a sostituire il precedente.

           Un altro vantaggio potrebbe consistere nel riutilizzo del codice, ad esempio potremmo

           creare dei files pieni di funzioni di frequente utilizzo, e includerlo nei nostri progetti senza
           dover riscrivere nemmeno una linea di codice, senza parlare del fatto che molti “vecchi”
           compilatori, ponevano un limite di 64 kb alla lunghezza dei file.


           Nota: questo perchè le istruzioni assembly non erano in grado di fare “salti” superiori ai
           64KB dal punto di origine (inizio del programma).



           Esempio:

              #include <stdio.h> /* si usano < e > per i files di sistema */
              #include “mialib.h” /* e le virgolette per quelli… personali */
              main()
              {
                  float a;
                  a = numero(15);
                  printf(“Ho ottenuto: %f\n”,a);
                  a = pluto(27.4);
              }


              /* file mialib.h */
              extern float numero(float); /* in questo file mettiamo tutti i

              prototipi come extern */
              extern float pluto(float);


              /* file funzioni.c */
              float numero(float); /* prototipo “locale” */
              float pluto(float);
                                                            636
   635   636   637   638   639   640   641   642   643   644   645