Per stampare: Clicca qui oppure seleziona File » Stampa nel menù del tuo browser.

        -----------------------------------------------------------------------------------------------
        Questo intervento č stato stampato da Guide di Dada.Net
        raggiungibile a http://guide.dada.net
        -----------------------------------------------------------------------------------------------

By Fortran di Giuseppe Ciaburro
URL: http://guide.dada.net/fortran/interventi/2001/05/42733.shtml

Fortran di Giuseppe Ciaburro guida dal 04-06-2002

Compilazione di programmi eseguibili

Compilazione di programmi eseguibili in ambiente UNIX-LINUX, come ottenere da un sorgente f77 un eseguibile.

La sintassi del fortran 77 per la compilazione di un eseguibile di nome nomefile dal sorgente nomefile.f e' la seguente:

f77 -o nomefile nomefile.f -I$HOME/f77/include -L$HOME/f77/lib -llibreria

-I indica la directory di librerie per gli include (oltre quelle di sistema)
-L indica la directory di librerie per il link (oltre quelle di sistema)
-l per indicare il file di libreria, senza il suffisso .a e senza il prefisso lib.

Note: se non si specifica il nome dell'eseguibile che si vuole produrre, il sistema gli assegna il nome di default a.out. E' anche possibile richiamare separatamente il compilatore f77 e il linker ld, ma in tal caso al linker vanno specificate anche le librerie di sistema, quindi non conviene.
E' possibile creare uno script che permetta la compilazione, il link e l'esecuzione del sorgente di un eseguibile Fortran. Tale script puo' essere copiato nella directory etc dell'utente ed adattato alle esigenze specifiche fornendo i nomi delle directories di Include, delle librerie per il link e le eventuali opzioni per il compilatore secondo la normale sintassi. Si puņ quindi creare anche uno script che contenga i parametri di compilazione opportuni per eseguire un programma Fortran da debugger interattivo, dbx.
Nota: Si sono verificati alcuni casi in cui la compilazione di un sorgente Fortran produce un errore del compilatore che termina con i messaggi seguenti:

Assertion failure: Compiler internal error - please submit problem report GEM ASSERTION, Compiler internal error - please submit problem report Fatal error

In tal caso si puo' provare ad utilizzare l'opzione -O0, che disabilita le ottimizzazioni effettuate nella fase di link del programma.