Sei sulla pagina 1di 9

Il compilatore Fortran G95 in ambiente Windows

installazione ed uso

G95 un compilatore Fortran distribuito gratuitamente, compatibile con le specifiche del linguaggio
Fortran95. Esso disponibile in diverse versioni, progettate per operare con CPU diverse e con diversi
sistemi operativi. Il gruppo di lavoro che ha sviluppato G95 continua tuttora a lavorare al progetto ed
attualmente ha implementato nel compilatore anche alcune specifiche dello standard F2003.
Collegandosi al sito web del gruppo di lavoro http://www.g95.org/ possibile scaricare la versione del
compilatore pi adatta alle proprie esigenze ed anche ottenere informazioni aggiornate sullattivit del
gruppo di lavoro.
Queste note sono rivolte a chi voglia utilizzare G95 su un PC dotato di sistema operativo Windows ( XP o
successivo). In particolare, le note sono state predisposte per gli studenti che negli anni acc.ci 2012/13 e
successivi, frequenteranno il corso di Laboratorio di Programmazione (2 gruppo), presso il Corso di Laurea
in Matematica dellUniversit Federico II di Napoli. La dispensa stata redatta dal docente titolare del corso,
prof. Simoncelli, cui ci si pu rivolgere in caso di difficolt, per richiedere chiarimenti o segnalare problemi.

1. Download dellarchivio autoinstallante

Il compilatore pu essere installato su un proprio computer con sistema operativo Windows ( XP, W7,
W8) mandando in esecuzione un opportuno archivio-auto-estraente, cio di un file contenente un
programma eseguibile (applicazione, secondo la terminologia windows) che, una volta mandato in
esecuzione sotto il controllo del s.o.Windows, provvede autonomamente ad installare il compilatore nel s.o.
stesso. In altre parole tale programma provvede a creare le necessarie cartelle di lavoro, a decomprimere i
vari files (compilatore, linker, librerie ecc..) collocandoli nelle rispettive cartelle, ad aggiornare il registro di
sistema di Windows, il tutto in maniera automatica.
Conviene creare preventivamente una nuova cartella temporanea ( ad es. C:\g95tmp ) in cui il
programma verr collocato e mandato in esecuzione.
Il file contenente lapplicazione che installa G95 sotto Windows si chiama g95-MinGW.exe; lo si pu
scaricare dalla pagina principale del progetto G95 http://www.g95.org/ [scegliendo nellelenco G95
BINARIES AND SOURCE (STABLE VERSION 0.92, JUNE 2009) il link Self-extracting Windows x86 HTML
che apre una finestra di download dalla quale si pu scaricare il file g95-MinGW.exe] .
Pi semplicemente, il file pu essere prelevato dalla mia pagina web, sezione materiale didattico,
utilizzando questo link al file g95-MinGW.exe .

Assicurarsi che g95-MinGW.exe venga salvato nella cartella temporanea c:\g95tmp creata
precedentemente (vedi figura sotto)
2. Installazione del compilatore
Tale installazione , di fatto, automatica. Basta aprire la cartella in cui stato scaricato il file g95-
MinGW.exe (ad esempio, se il file stato scaricato in C:\g95temp si avr una finestra come quella in figura
qui sotto) e click-are due volte sullicona del file g95-MinGW.exe per mandare in esecuzione il programma
di installazione.

Questultimo visualizzer la seguente finestra popup :

Clickare sul tasto S per far partire la procedura di installazione. Comparir ancora una finestra di dialogo
(vedi qui sotto) che permetter di scegliere (eventualmente) il nome della cartella in cui installare il
compilatore (non necessario creare tale cartella, lo fa automaticamente il programma di installazione).

Click-are sul pulsante Install in basso a destra. Si avvier linstallazione vera e propria e comparir la
seguente finestra in cui verranno visualizzate informazioni relative alle varie fasi del processo di
installazione.

2
Durante la parte finale del processo di installazione comparir una piccola finestra pop-up come
visualizzato nello snapshot qui di seguito. Click-are sul pulsante OK per installare anche le librerie del
compilatore.

Successivamente, compariranno altre finestre popup. Ancora una volta si dovr click-are sul pulsante OK;
questa volta per ottenere che venga effettuato automaticamente laggiornamento delle variabili di ambiente
PATH e LIBRARY_PATH del sistema operativo. Ci permetter di eseguire il compilatore qualunque sia
al momento la propria directory corrente (variabile PATH), e di linkare le librerie del Fortran al proprio
programma in maniera corretta (variabile LIBRARY_PATH ).

Dopo aver portato a termine con successo linstallazione di G95 ed essersi accertati che linstallazione sia
avvenuta in maniera corretta ( fare qualche prova di utilizzo del compilatore : sia compilazione che linking di

3
programmi fortran ) sar possibile eliminare la cartella c:\g95tmp con tutto il suo contenuto, non necessario
al funzionamento del compilatore, una volta installato.

3. (Eventuale) Settaggio manuale della variabile Library Path

Come si detto, di regola le variabili di ambiente presenti nel registro di sistema vengono aggiornate
automaticamente dal programma di installazione, e non necessario alcun intervento manuale
dellutilizzatore.
Tuttavia, talvolta pu avvenire che (per scelta o per un qualche errato comportamento durante la
installazione automatica precedentemente descritta) il valore dalla variabile di ambiente LIBRARY_PATH
non venga aggiornato correttamente durante la fase di installazione del compilatore. Come si detto, tale
variabile fornisce al s.o. informazioni indispensabili durante la fase di linking dei programmi fortran. Infatti,
per poter linkare correttamente i file rilocabili creati durante la fase di compilazione, necessario che sia noto
al s.o. il nome completo della directory contenente le librerie del compilatore Fortran G95. Per nome
completo, come sappiamo, va ineso il nome completo dellintero percorso ( path), sullalbero delle
directory, che permette di raggiungere quella directory partendo dalla radice ( directory root, cio c:\ nel
nostro caso).
Le librerie del Fortran G95 vengono estratte dal file di installazione e copiate nel disco fisso durante la
procedura di installazione; esse vengono sempre scritte nella directory

<g95_home_directory>\lib

dove <g95_home_directory> rappresenta il nome della directory in cui installato il compilatore. Se in fase
di installazione non stato modificato il valore di default, il percorso <g95_home_directory> coincide con
c:\G95\g95, quindi la variabile di ambiente LIBRARY_PATH deve essere settata a c:\G95\g95\lib .

La procedura da seguire per settare ad un valore prescelto (c:\G95\g95\lib, o in generale


<g95_home_directory>\lib ) la variabile dambiente LIBRARY_PATH la seguente:
Clickare con il tasto destro del mouse sullicona Risorse del Computer e nel menu mobile che si apre
scegliere il tasto Propriet

Si aprir la finestra Propriet del sistema, scegliere il tab Avanzate e nella scheda Avanzate click-are sul
pulsante Variabili dambiente

4
Nella finestra Variabili dambiente scegliere il tasto Nuovo per aprire la piccola finestra Nuova variabile
dutente in cui si deve inserire come Nome variabile LIBRARY_PATH e come Valore il nome completo
(intero percorso) della directory contenente le librerie del Fortran G95, ad es c:\G95\g95\lib

LIBRARY_PATH

c:\G95\g95\lib

Dopo avere inserito i nuovi Nome variabile e Valore variabile, salvarli clickando su OK.

Si potr verificare che nella lista delle variabili di ambiente presente nella finestra Variabili dambiente sar
stata aggiunta una nuova riga relativa alla nuova variabile LIBRARY_PATH con valore C:\G95\g95\lib.
A questo punto, click-are sul pulsante OK per chiudere la finestra Variabili dambiente e nella finestra
Propriet del sistema click-are sul pulsante OK per uscire.

5
4. Utilizzo del compilatore G95

Il compilatore G95 pu essere richiamato e mandato in esecuzione operando dal terminale DOS a linea
di comando. Trattandosi di un programma eseguibile contenuto in un file binario ( g95.exe ), ed essendo
lindirizzo completo della cartella che contiene tale file gi noto al s.o. ( stato aggiunto alla variabile
dambiente PATH in fase di installazione), per mandarlo in esecuzione sufficiente fornire come comando al
DOS il suo nome. Dunque, baster digitare g95 nella finestra DOS per effettuare una compilazione.
Perch il compilatore possa operare correttamente, inoltre, bisogna fornire a tale programma le informazioni
su dove pu reperire i dati di input su cui deve operare e dove deve collocare i suoi dati in output. In altre
parole, necessario fornire, come operandi del comando al s.o. che richiama il compilatore, due nomi di files
: il nome completo con estensione .f90 (anche, per vecchie versioni del linguaggio, con estensione .for) di
un file ASCII-puro presente sul disco che contenga il programma sorgente da compilare (dati in input), ed il
nome di un file binario che il compilatore stesso dovr creare e che conterr il programma eseguibile
prodotto della compilazione (dati in output). La frase di chiamata per il compilatore avr dunque una forma
del tipo : g95 [opzioni] [<file-eseguibile> ] <file-sorgente>.f90 dove, come prassi, si sono indicati tra
parentesi quadre [] i campi che possono, in alcuni casi, mancare, e con le parentesi ad angolo <> una
qualsiasi stringa ammissibile di caratteri alfanumerici.

Un esempio pratico, passo passo:


Supponiamo di voler compilare ed eseguire un semplice programma che effettua la somma di due numeri
interi, ad esempio quello riportato nella figura il seguente:

6
Bisogna disporre, per prima cosa, di un file di testo che contenga tale programma sorgente, ed abbia un
nome con estensione .f90 (nellesempio provasomma.f90) o un altra delle estensioni accettate da G95. Tale
file pu essere creato utilizzando un qualunque text-editor che crei file ASCII puri (cio senza informazioni
di formattazione), ad esempio:
Microsoft Notepad (nome italiano Blocco note, leditor di testo di Windows, quello usato qui in figura)
ATTENZIONE: se si utilizza Blocco note per scrivere un programma in Fortran 90, per salvare il file
con il nome nomefile.f90 ( NON con la estensione di default .txt, ma con la estensione .f90
richiesta dal compilatore), usare la opzione Salva con nome.. anzicch quella Salva.. e scrivere
nomefile.f90 nella casella Nome file:, scegliendo Tutti i file nella casella Salva come: ed
ANSI nella casella Codifica:
Gedit versione per Windows ( http://live.gnome.org/Gedit/Windows )
Notepad++ ( http://notepad-plus.sourceforge.net/it/site.htm ) ,
Vim ( http://www.vim.org/download.php )
Supponiamo di aver creato il file sorgente chiamandolo provasomma.f90 e di averlo salvato nella directory
C:\MyFor\Somma, che si presenter come in figura:

Ora, per utilizzare il compilatore G95 in ambiente Ms Windows XP, necessario accedere al terminale DOS.
Si pu procedere nel modo illustrato per immagini nella figura qui sotto:

Come aprire una finestra DOS mediante Start > Esegui > cmd > OK, illustrato per snapshots

Nel menu start selezionare Esegui.. Si apre la finestra DOS in cui


nella finestra Esegui digitare possibile interagire con il S.O. digitando
cmd, comandi che sono stringhe di caratteri
quindi premere OK alfanumenrici.

O, pi semplicemente, se presente sul desktop licona Prompt dei comandi basta doppio-clickare su di
essa per aprire la finestra DOS, oppure vi si pu anche accedere dal menu principale di Windows ( start >
Tutti i Programmi > Accessori > Prompt dei comandi ).
Una volta che si nella finestra DOS, possibile spostarsi allinterno del file-system, creare ed eliminare
cartelle e files, mandare in esecuzione programmi, ecc., utilizzando i comandi DOS. Ad esempio, ora si
vuole scegliere come cartella corrente quella contenente il file provasomma.f90 (in cui stato scritto il
programma fortran); ad esempio se il file nella cartella C:\MyFor\Somma ci si potr spostare in
questultima digitando il comando:

cd C:\MyFor\Somma

una volta che si resa C:\MyFor\Somma directory corrente, il comando per mandare in esecuzione il
compilatore G95 ed eseguire il controllo formale della correttezza del programma pu essere scritto nella
forma :
g95 -c provasomma.f90

7
dove la scelta dellopzione c indica che non si desidera creare un file binario (con estensione .exe )
contenente il programma eseguibile, ma solo effettuare la correzione formale del simbolico e creare il
corrispondente file rilocabile. Loutput di questo comando infatti un file (il file oggetto) provasomma.o,
oltre, naturalmente, ad eventuali messaggi a console di segnalazione di errori nellutilizzo del linguaggio
Fortran90.
Per verificare la effettiva creazione del nuovo file provasomma.o si pu digitare il comando Dos
dir, che permette di visualizzare il contenuto della directory corrente:

Una volta che la compilazione andata a buon fine, e si pu quindi essere certi che non vi sono errori formali
da correggere, si pu procedere alla fase di linking digitando :

g95 o <nome_eseguibile> <nome_oggetto> .o

dove <nome_eseguibile> rappresenta il nome che si vuole assegnare al programma e <nome_oggett>.o il


nome del file rilocabile generato dal processo di compilazione al passo precedente ( di regola la parte
nome resta invariata rispetto al nome del file sorgente).
Luso dellopzione -o indica che si richiede al compilatore di creare leseguibile.
Nel caso del nostro esempio ( programma provasomma.o), come nome per il file eseguibile possiamo
scegliere, ad esempio, sum (.exe), cosicch comando per linkare il rilocabile provasomma.o avr la forma :

g95 -o sum provasomma.o

Loutput di questo comando sar un file eseguibile sum.exe (per verificare la effettiva creazione di questo
file si pu ricorrere nuovamente al comando dir del DOS).
In fine, per mandare in esecuzione il programma eseguibile appena creato, basta digitarne il nome (anche
senza lestensione .exe). Conoscendo quale lalgoritmo che il programma implementa, quali i dati previsti
in input, quali i risultati attesi in output, possibile verificarne il corretto funzionamento ( ma tutto questo
non riguarda pi il compilatore G95).
Nel nostro caso di esempio: digitare sum.exe ( o anche soltanto sum) al prompt dei comandi; il programma
va in esecuzione, visualizza sullo schermo le frasi che sollecitano lintroduzione da tastiera dei due valori da
sommare (A e B) quindi legge i valori digitati. Quindi calcola la somma A+B e visualizza il risultato sullo
schermo accompagnato da un messaggio opportuno. La fase di esecuzione del programma visualizzata
nello snapshot dello schermo riportato qui sotto:

8
Va osservato, in fine, che (se si certi della correttezza formale del proprio programma sorgente, o
comunque questultimo molto semplice) anzicch operare in due passi consecutivi distinti compilazione e
linking , possibile utilizzare un unico comando, nella forma :

g95 o <nome_eseguibile> <nome_sorgente>.f90

per effettuare entrambe le fasi, in sequenza.


Nel caso del nostro esempio, con le scelte fatte relativamente ai nomi dei files, il comando da digitare per
ottenere la creazione delleseguibile direttamente a partire dal programma sorgente sarebbe:

g95 -o sum provasomma.f90

Questa dispensa stata predisposta per gli studenti del corso di Laboratorio di Programmazione gr.2
[anno acc.co 2013/14 e successivi, Universit Federico II Napoli, Corso di Laurea triennale in
Matematica] a cura del docente, prof. A. C. Simoncelli.

Napoli, 17 novembre 2013