g77(1) GNU Projekt Fortran Compiler (v0.5.24)

SYNTAX

g77 [ Option | Dateiname ]...

WARNUNG

Die Information auf dieser man-Seite ist ein Auszug aus der vollständigen Dokumentation des GNU Fortran Compilers (Version 0.5.24). Sie ist beschränkt auf die Beschreibung einiger der einstellbaren Optionen des g77.

Diese man-Seite ist nicht aktuell, da sich niemand mehr bereit erklärt, sie zu pflegen. Falls Unterschiede zwischen den Angaben dieser Seite und der Software erkennbar werden, sollte die Info-Datei des g77 zu Rate gezogen werden, die die offizielle Dokumentation des Projektes darstellt. Die Info-Datei des g77 ist lediglich in Englisch verfügbar.

Falls die Autoren feststellen sollten, dass die Angaben auf dieser man-Seite nicht mehr aktuell sind oder zu großer Verwirrung und Ärger führen, so wird die Ausgabe der Seite eingestellt. Die Alternative, diese Seite immer mit der Info-Seite zu aktualisieren, ist nicht praktikabel, weil die Arbeit an der Entwicklung von GNU-Fortran dafür keine Zeit lässt. Das GNU-Projekt sieht die man-Seiten als überflüssig an, sie sollten daher keine Zeit beanspruchen, die für andere Dinge dringender benötigt wird.

Für eine komplette und aktuelle Dokumentation sei entweder wieder auf die Infodatei von `g77' oder das Manual Using and Porting GNU Fortran (für Version 0.5.24). verwiesen. Beide lassen sich aus der Textinfo-Quelldatei g77.texi erzeugen, die dem g77 beigefügt ist.

Wenn auf Ihrem System das `info'-Kommando installiert ist, sollte der Befehl `info g77' funktionieren, es sei denn, dass g77 nicht richtig installiert wurde. Fehlt `info' auf dem System oder wollen Sie das Kommando nicht einsetzen, dann sollte der Befehl `more /usr/info/g77' funktionieren, sofern auch er sauber installiert ist.

Falls der g77 nicht vollständig installiert sein sollte, so dass ein Zugriff auf die Info-Datei unmöglich ist, bitten Sie den Systemadministrator oder den Verantwortlichen für den g77 (falls er/sie bekannt ist), das Problem zu beseitigen.

BESCHREIBUNG

Der C- und der F77-Compiler sind miteinander verbunden. g77 ist ein Programm, das den gcc mit den entsprechenden Optionen aufruft, um Fortran-Programme (ANSI FORTRAN 77, auch als F77 bezeichnet) zu verarbeiten. gcc bearbeitet Eingabedateien in bis zu vier Stufen: Präprozessieren, Übersetzen, Assemblieren und Linken. Diese man-Seite enthält vollständige Beschreibungen ausschließlich von F77-spezifischen Aspekten des Compilers. Allgemeine Optionen sind in kurzen Zusammenfassungen enthalten. Eine detailliertere Beschreibung des C-Compilers findet sich unter gcc(1).

Für eine vollständige Dokumentation über GNU-Fortran geben Sie den Befehl `info g77' auf der Kommandozeile ein.

F77-Quelldateien besitzen die Endungen .f', `.for', oder `.FOR'; F77-Dateien, die vor der eigentlichen Übersetzung durch den Präprozessor cpp(1) laufen sollen, verwenden die Endungen .F', `.fpp', oder `.FPP'; Ratfor-Quelldateien enden auf `.r' (ratfor selbst ist kein Bestandteil von g77).

OPTIONEN

Es gibt eine Reihe von Kommandozeilen-Optionen zur Steuerung der Optimierung, Ausgabe von Fehlermeldungen und der Codeerzeugung, die für die Compiler gcc und g77identisch sind. Eine vollständige Dokumentation aller Optionen findet sich unter gcc(1).

Die Optionsangaben werden durch ein - eingeleitet und meist durch einen Buchstaben oder Ausdruck repräsentiert. Hierbei ist zwischen Groß- und Kleinschreibung zu unterscheiden. Die Optionen müssen durch Leerzeichen getrennt sein. Dabei ist zu beachten: Die Angabe von -dr hat eine andere Bedeutung als der Ausdruck -d -r.

Viele der -f- und -W-Optionen gibt es in einer bejahenden und einer verneinenden Form: -fname und -fno-name (oder -Wname und -Wno-name), wobei name für den jeweiligen Optionsausdruck steht. Im Folgenden ist nur die Form beschrieben, die nicht der Voreinstellung entspricht.

-c

Kompiliert die Quelldateien, führt aber anschließend kein Linken durch. Die Compilerausgabe ist eine Objektdatei mit dem entsprechenden Namen der Quelldatei und der Endung .o.

-Dmacro
Definiert das Makro macro mit dem String `1' als Wert.
-Dmacro=defn
Definiert das Makro macro mit Wert defn.
-E
Der g77 hält nach dem Präprozessieren an, startet also nicht den Übersetzer. Die Ausgabe, der vorübersetzte Quellcode, wird auf die Standardausgabe geschickt.
-g
Erzeugt Debuginformation im Betriebssystem-spezifischen Format (für DBX, SDB oder DWARF). Auch der GDB kann ebenfalls diese Debuginformation verarbeiten. Auf den meisten Systemen, die das DBX-Format verwenden, erlaubt -g den Einsatz von speziellen Debug-Informationen, die nur GDB versteht.

Im Gegensatz zu den meisten anderen Fortran-Compilern erlaubt es GNU Fortran, gleichzeitig sowohl -g, als auch -O zu verwenden. Die Betrachtung von optimiertem Code kann teilweise überraschende Ergebnisse liefern: Einige der deklarierten Variablen existieren gar nicht; der Programmablauf durchläuft unerwartete Wege; einige Befehlsstrukturen werden nicht ausgeführt, weil sie konstante Ergebnisse liefern oder die Werte schon vorhanden sind; einige Befehlsstrukturen werden an verschiedenen Stellen ausgeführt, da sie außerhalb von Schleifen positioniert wurden.

Dennoch ist es möglich, optimierten Code zu debuggen. Dies erlaubt es, den Optimierer auch in Programmen mit Bugs einzusetzen.

-Idir
Fügt das Verzeichnis dir der Liste der Verzeichnisse hinzu, die nach include-Dateien durchsucht werden sollen.
-Ldir
Fügt das Verzeichnis dir der Liste der Verzeichnisse hinzu, die nach Link-Bibliotheken durchsucht werden sollen, welche über die Option -l gesetzt sind.
-llibrary
Verwendet die Bibliothek mit dem Namen library beim Linken.
-nostdinc
Es werden nicht die Standardverzeichnisse des Systems nach Header-Dateien durchsucht, sondern nur die Verzeichnisse, die über die -I-Option spezifiziert sind (sowie der aktuelle Ordner, falls passend).
-O
Optimierte Übersetzung. Sie dauert etwas länger und benötigt auch mehr Speicherplatz. Weitere Optimierungsoptionen sind in der GCC-Dokumentation beschrieben. Bei typischen numerischen Anwendungen in Fortran-Programmen kann vor allem das Optimieren von Schleifen sinnvoll sein.
-o Dateiname
Gibt die Ausgabe in die Datei mit Namen Dateiname aus.
-S
g77 hält nach dem Übersetzen an und linkt nicht. Die Ausgabe sind Assemblercode-Dateien, mit denselben Namen wie die zugehörigen Eingabedateien, aber mit der entsprechenden Endung für Assemblercode.
-Umacro
Löscht die Definition des Makros macro.
-v

Gibt die Befehle, die während der einzelnen Stufen der Kompilierung ausgeführt werden, auf die Standard-Fehlerausgabe aus. Gibt außerdem die Versionsnummer des Compiler-Treiberprogramms, des Präprozessors und des Übersetzers selbst aus. Die Versionsnummer des g77 unterscheidet sich von derjenigen der GCC-Distribution, auf der er aufbaut.

-Wall
Es werden Warnungen bei Zuständen ausgegeben, die es zu vermeiden gilt und die sich leicht vermeiden lassen, sogar in Verbindung mit Makros.

BEISPIELE

g77 quelle.for
Übersetzt die Fortran-Quelldatei quelle.for, linkt und erzeugt eine ausführbare Datei a.out im aktuellen Ordner. a.out wird immer dann erzeugt, wenn kein Zieldateiname angegeben ist (mit der -o-Option).
g77 -o ziel.bin quelle.for
Übersetzt die Fortran-Quelldatei quelle.for, linkt und erzeugt die ausführbare Datei mit dem Namen ziel.bin.
g77 -O2 -o ziel.bin quelle.for
Übersetzt die Fortran-Quelldatei quelle.for mit Optimierung, linkt und erzeugt eine ausführbare Datei ziel.bin.
g77 -c mysub.f
Übersetzt die Fortran-Quelldatei mysub.f, in der z. B. nur Subroutinen enthalten sind, und erzeugt eine Objektdatei mysub.o im aktuellen Ordner.
g77 -o myprogexe myprog.f mysub.o
Linkt die Objektdatei mysub.o zum Programm mit der Quelldatei myprog.f und erzeugt eine ausführbare Datei myprogexe.
g77 -o myprogexe myprog.f -ldummylib
Linkt eine externe Bibliothek mit Namen dummylib an das Programm mit Quelldatei myprog.f und erzeugt eine ausführbare Datei myprogexe.

DATEIEN

file.h C-Header-Datei (Präprozessor)
file.f Fortran-Quellcodedatei
file.for Fortran-Quellcodedatei
file.FOR Fortran-Quellcodedatei
file.F vorprozessierte Fortran-Quellcodedatei
file.fpp vorprozessierte Fortran-Quellcodedatei
file.FPP vorprozessierte Fortran-Quellcodedatei
file.r Ratfor Quellcodedatei (ratfor nicht enthalten)
file.s Assemblercode-Datei
file.o Objektdatei
a.out gelinkte Ausgabe
TMPDIR/cc* temporäre Dateien
LIBDIR/cpp Präprozessor
LIBDIR/f771 Übersetzer
LIBDIR/libg2c.a Fortran Laufzeit-Bibliothek
LIBDIR/libgcc.a GCC Unterroutinen-Bibliothek
/lib/crt[01n].o Start-up-Routine
/lib/libc.a Standard-C-Bibliothek, siehe intro(3)
/usr/include Standardverzeichnis für #include-Dateien
LIBDIR/include Standard-gcc-Verzeichnis für #include-Dateien

LIBDIR ist gewöhnlich /usr/local/lib/maschine/version.

TMPDIR kommt von der Umgebungsvariable TMPDIR. (Die Voreinstellung ist /usr/tmp falls verfügbar, sonst /tmp).

BUGS

Nähere Informationen zum Thema 'Melden von Bugs' erhalten Sie nach Eingabe von info g77 -n Bugsin der Shell.

LIZENZBESTIMMUNGEN

Copyright (c) 1991-1998 Free Software Foundation, Inc.

Sofern der Copyright-Vermerk und dieser Erlaubnisvermerk auf allen Kopien vorhanden sind, ist es erlaubt, wortgetreue Kopien von diesem Manual zu machen und diese weiterzugeben.

Unter den Bedingungen für wortgetreues Kopieren ist es erlaubt, Kopien von modifizierten Versionen dieses Manuals zu machen und diese weiterzugeben. Das gesamte Ergebnis der abgeleiteten Arbeit darf wiederum nur mit einem Erlaubnisvermerk versehen verteilt werden, der mit diesem identisch ist.

Unter den obigen Bedingungen für modifizierte Versionen ist es erlaubt, Kopien von Übersetzungen dieses Manuals in andere Sprachen zu machen und diese weiterzugeben. Dieser Erlaubnisvermerk muss in übersetzter und durch die Free Software Foundation geprüfter Form in den Übersetzungen an Stelle der Orginalvermerke in englischer Sprache enthalten sein.

AUTOREN

Wenn Sie sich über die Mitarbeiter an GNU CC informieren wollen, schauen Sie in das GNU CC Manual. Die Personen, die zum GNU Fortran-Projekt beitragen, stehen im Handbuch von GNU Fortran.