Fortran: Gfortran
<< zur Fortran-Startseite | |
< Compiler | Intel Fortran Compiler > |
Was ist gfortran?
[Bearbeiten]gfortran (oder GNU Fortran) ist ein Fortran-Compiler-Frontend für die GNU Compiler Collection (GCC).
Installation
[Bearbeiten]Vorcompilierte Pakete und Anleitungen zur Installation von gfortran finden sich gegliedert nach Betriebssystem und Prozessortyp auf: [1]
Starten des gfortran-Compilers
[Bearbeiten]MS Windows
[Bearbeiten]Nach erfolgter Installation befindet sich das gfortran-Softwarepaket beispielsweise im Verzeichnis C:\Programme\gfortran
. Zwecks Funktionstest wird die Eingabeaufforderung von MS Windows gestartet und der gfortran-Compiler aufgerufen:
Das Fortran-Programm für einen ersten konkreten Compilertest könnte so aussehen
program test write (*,*) 'Hallo Welt!' end program test
Dieses Quellprogramm werde via Texteditor für dieses Beispiel unter dem Dateinamen test.f90
im Verzeichnis c:\tmp
gespeichert. Nun wird das Programm compiliert und gebunden
und liegt dann unter dem Programmnamen a.exe
als ausführbares Programm vor. Die Startanweisung für das Programm a.exe
inklusive unmittelbar danach folgender Programmausgabe sieht so aus.
Alternativ kann a.exe
natürlich auch konventionell mittels Windows-Explorer gestartet werden. In diesem speziellen Fall wäre aber bis auf ein kurzes Aufblinken des Eingabeaufforderungs-Fensters nicht viel zu sehen, da das Programm nach der Textausgabe beendet wird.
Linux
[Bearbeiten]Für die Linux-Variante des gfortran-Compilers gilt prinzipiell dieselbe Vorgehensweise wie für die Windows-Variante.
Compilieren des Beispielprogrammes:
Starten des ausführbaren Programms a.out
und Anzeige der Programmausgabe:
Durch entsprechende Nutzung des Linux-PATH
-Mechanismus (z.B. symbolischer Link in ein PATH-Verzeichnis oder Aufnahme des ./gfortran/bin/
-Verzeichnisses in den PATH
) kann die Angabe des gesamten Compilerpfades bei jedem gfortran
-Compileraufruf entfallen.
Dateiendungen für Quelldateien
[Bearbeiten]Mit gfortran lassen sich Programme verschiedener Fortran-Sprachstandardversionen kompilieren. Der Fortran-Typ wird üblicherweise durch die Dateiendung der Quelldatei festgelegt.
Dateiendung | Fortran-Version |
---|---|
.f | FORTRAN 77 (fixes Zeilenformat) |
.f90 | Fortran 90 (freies Zeilenformat) |
.f95 | Fortran 95 (freies Zeilenformat) |
.f03 | Fortran 2003 (freies Zeilenformat) |
.F | FORTRAN 77 (fixes Zeilenformat) mit Preprocessing durch cpp |
.F90 | Fortran 90 (freies Zeilenformat) mit Preprocessing durch cpp |
.F95 | Fortran 95 (freies Zeilenformat) mit Preprocessing durch cpp |
.F03 | Fortran 2003 (freies Zeilenformat) mit Preprocessing durch cpp |
Anwendung
[Bearbeiten]In der Anwendung gleicht gfortran anderen GCC-Frontends (z. B. gcc, g++ oder g77).
- Übersetzung einer Quelldatei in die ausführbare Datei a.out (bzw. a.exe auf MS Windows-Systemen):
gfortran bsp.f90
- Übersetzung einer Quelldatei in eine Objektdatei bsp.o:
gfortran -c bsp.f90
- Übersetzung einer Quelldatei in die ausführbare Datei bsp:
gfortran -o bsp bsp.f90
- Statisches Linken:
gfortran -static -o bsp bsp.f90
- Mehrere Quelldateien kompilieren und zu einer ausführbaren Datei linken:
gfortran -c bsp1.f90
gfortran -c bsp2.f90
gfortran -o bsp bsp1.o bsp2.o
- Mehrere Quelldateien in einer Anweisung kompilieren und zu einer ausführbaren Datei linken:
gfortran -o bsp bsp1.f90 bsp2.f90
Prüfung des Quellcodes auf Standardkonformität
[Bearbeiten]Zur Sicherstellung einer strikten Standardkonformität kann die Option std mit folgenden Parametern verwendet werden:
Parameter | Kommentar |
---|---|
f95 | Fortran 95 |
f2003 | Fortran 2003 (noch nicht vollständig implementiert [Stand: Dez. 2005]) |
gnu | Fortran mit GNU-Erweiterungen |
legacy |
- Beispiele:
gfortran -std=f95 bsp.f
gfortran -std=f95 -W -Wall -pedantic bsp.f
Historisches
[Bearbeiten]Mit g95 [2] stand dem Fortran-Programmierer ein weiterer freier (im Sinne von Freier Software) Kommandozeilen-Compiler zur Verfügung, der für eine Vielzahl von Plattformen erhältlich war. g95 und gfortran basierten auf dem selben Programmcode. Im Jahr 2003 gabelten sich die Entwicklungszweige. gfortran ist nun Teil der GCC. Die Entwicklung von g95 wurde vom ursprünglichen Programmautor Andrew Vaught unabhängig davon weitergeführt. Laut [3] wird g95 seit dem Jahr 2013 nicht mehr weiterentwickelt.
gfortran-Weblinks
[Bearbeiten]<< zur Fortran-Startseite | |
< Compiler | Intel Fortran Compiler > |