Zum Inhalt springen

Fortran: Gfortran

Aus Wikibooks
<< 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 >