Gli Algoritmi della Libreria SOFA
Prev Next

2. Compilazione dei listati Fortran

Contrariamente a quanto si pensa, il linguaggio Fortran gode attualmente di “buona salute”, pur essendo stato in assoluto il primo dei codici evoluti usato nei calcoli matematici agli albori dell'era dei computer.

Tra l'altro il miglioramento che ha subìto negli '90 con l'introduzione del Fortran 90/95 ne facilita fortemente l'utilizzo, soprattutto per quanto riguarda il formato libero, che lo svincola dal vecchio Fortran 77 in cui bisognava scrivere il codice tra le colonne 7 e 72 con la numero 6 riservata alla continuazione della riga precedente. Un ′fastidioso′ residuo delle vecchie schede perforate.

Il Fortran 90 (lo chiameremo così da qui in avanti) ha una grandissima peculiarità, riesce a compilare i codici sorgente sia del nuovo formato libero (desinenza .f90, f95) che quelli del Fortran 77, con l'estensione classica dei file (.for o .f). Tale caratteristica è di enorme vantaggio per gli studiosi che si accingono a maneggiare le 169 routine del progetto SOFA, che sono accuratissime e scritte in Fortran 77, per cui la loro compilazione risulta praticamente immediata.

I compilatori Fortran, che vedremo in dettaglio nei prossimi paragrafi, sono completamente esenti da copyright, quindi gratuiti, ed appartengno alla foltissima schiera del Software Libero. Ne vengono presentati due, il gfortran che gira in ambiente Linux e il g95, anch'esso di licenza libera GNU ma in versione DOS di Windows.

2.1. Compilatore in ambiente Linux

In molte distribuzioni Linux si può scaricare il pacchetto gfortran, che compila, come abbiamo detto sopra, sia i programmi scritti in Fortran 90 che quelli in Fortran 77. Per far ciò con Linux-Ubuntu basta digitare da “linea di comando” (terminale) quanto segue: sudo apt-get install gfortran (invio) ed avere una connessione attiva di internet; analogo comando si ritrova su altre distribuzioni Linux. Per compilare ed avviare un programma Fortran generico, che non utilizza (per ora) le routine SOFA, basta dare i comandi seguenti:

$ gfortran -o filename filename.xxx
(per compilare il programma: .xxx può essere .f90, .f95, .for, .f)

$ ./filename
(per avviarlo)

Vedremo in seguito, nello specifico, come per compilare un programma che fa riferimento a tutte le 169 Subroutine occorre creare, solo una volta all'inizio, un'apposita libreria (.o) e richiamarla quando si compila il programma.

2.2. Compilatore in ambiente DOS-Windows

L'installatore “self extracting” del pacchetto g95, il file si chiama g95-MinGW.exe, e può essere prelevato da qui. Appena installato il compilatore, per es. su C:\Temp\g95, bisogna avere la pazienza di settare le variabili d'ambiente per fa sì che da qualsiasi punto del PC si possa avviare la compilazione. Ho notato, per esperienza, che spesso tali settaggi (di binari e librerie) vanno in ′tilt′ per cui è meglio richiamarli con un file batch all'inizio di ogni compilazione, introducendovi pure una linea di comando che ci permette di spostarci sulla directory di lavoro. Ecco il file di avvio preliminare della compilazione, per es: sof90.bat, da porre in una dir della PATH del DOS.

@echo off
cls
PATH=c:\Temp\g95\bin;c:\Temp\g95;%PATH%
SET LIBRARY_PATH=c:\Temp\g95\lib
cd\Temp\sofa07   rem dir di lavoro

Quindi si procede così: dalla mascherina PromptDOS di Windows si passa in ambiente DOS, da cui si digita sof90 (invio), che ci fa spostare su c:\Temp\sofa07, dopo aver settato le variabili d'ambiente. Con il semplice comando DOS (g95 -o nomefile.exe nomefile.for) si ottiene direttamente la compilazione del listato e l'eseguibile nomefile.exe. Quando occorrerà richiamare la libreria delle 169 subroutine, basterà completare la stessa riga con l'opportuno comando. Lo vedremo più avanti.

Valid XHTML 1.0 Strict