.\" Copyright (c) 1995-1997 Free Software Foundation -*-Text-*- .\" See section COPYING for conditions for redistribution .\" 2002-04-26 Translated into German by .\" Heinz-Eckhard Habermehl .TH G77 1 "1999-02-14" "GNU Werkzeuge" "GNU Werkzeuge" .SH BEZEICHNUNG g77 \- GNU Projekt Fortran Compiler (v0.5.24) .SH SYNTAX .RB g77 " [ " \c .IR Option " | " "Dateiname " ].\|.\|. .SH 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. .PP 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. .PP 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. .PP Für eine komplette und aktuelle Dokumentation sei entweder wieder auf die Infodatei von `\|\c .B g77\c \&\|' oder das Manual .I Using and Porting GNU Fortran (für Version 0.5.24)\c \&. verwiesen. Beide lassen sich aus der Textinfo-Quelldatei .B g77.texi erzeugen, die dem g77 beigefügt ist. .PP Wenn auf Ihrem System das `\|\c .B info\c \&\|'-Kommando installiert ist, sollte der Befehl `\|\c .B info g77\c \&\|' funktionieren, es sei denn, dass g77 nicht richtig installiert wurde. Fehlt `\|\c .B info\c \&\|' auf dem System oder wollen Sie das Kommando nicht einsetzen, dann sollte der Befehl `\|\c .B more /usr/info/g77\c \&\|' funktionieren, sofern auch er sauber installiert ist. .PP Falls der .B 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. .PP .SH BESCHREIBUNG Der C- und der F77-Compiler sind miteinander verbunden. .B g77 ist ein Programm, das den .B gcc mit den entsprechenden Optionen aufruft, um Fortran-Programme (ANSI FORTRAN 77, auch als F77 bezeichnet) zu verarbeiten. .B gcc bearbeitet Eingabedateien in bis zu vier Stufen: Präprozessieren, Übersetzen, Assemblieren und Linken. Diese man-Seite enthält vollständige Beschreibungen .I ausschließlich von F77-spezifischen Aspekten des Compilers. Allgemeine Optionen sind in kurzen Zusammenfassungen enthalten. Eine detailliertere Beschreibung des C-Compilers findet sich unter .BR gcc ( 1 ). .PP Für eine vollständige Dokumentation über GNU-Fortran geben Sie den Befehl `\|\c .B info g77\c \&\|' auf der Kommandozeile ein. .PP F77-Quelldateien besitzen die Endungen .B .f\c \&\|', `\|\c .B .for\c \&\|', oder `\|\c .B .FOR\c \&\|'; F77-Dateien, die vor der eigentlichen Übersetzung durch den Präprozessor .BR cpp ( 1 ) laufen sollen, verwenden die Endungen .B .F\c \&\|', `\|\c .B .fpp\c \&\|', oder `\|\c .B .FPP\c \&\|'; .BR Ratfor \-Quelldateien enden auf `\|\c .B .r\c \&\|' .RB ( ratfor selbst ist kein Bestandteil von .B g77\c \&). .PP .SH OPTIONEN Es gibt eine Reihe von Kommandozeilen-Optionen zur Steuerung der Optimierung, Ausgabe von Fehlermeldungen und der Codeerzeugung, die für die Compiler .B gcc und .B g77\c \&identisch sind. Eine vollständige Dokumentation aller Optionen findet sich unter .BR gcc ( 1 ). .PP Die Optionsangaben werden durch ein .B \- 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 .B \-dr hat eine andere Bedeutung als der Ausdruck .BR "\-d \-r" . .PP Viele der .BR \-f \- und .BR \-W \-Optionen gibt es in einer bejahenden und einer verneinenden Form: .BI \-f name und .BI \-fno\- name\c \& (oder .BI \-W name und .BI \-Wno\- name\c \&), wobei .I name für den jeweiligen Optionsausdruck steht. Im Folgenden ist nur die Form beschrieben, die nicht der Voreinstellung entspricht. .TP .B \-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 .BR \.o . .TP .BI \-D macro Definiert das Makro .I macro mit dem String `\|\c .B 1\c \&\|' als Wert. .TP .BI \-D macro = defn Definiert das Makro .I macro mit Wert .IR defn . .TP .B \-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. .TP .B \-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 .B \-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 .BR \-g , als auch .B \-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. .TP .BI \-I dir Fügt das Verzeichnis .I dir der Liste der Verzeichnisse hinzu, die nach include-Dateien durchsucht werden sollen. .TP .BI \-L dir Fügt das Verzeichnis .I dir der Liste der Verzeichnisse hinzu, die nach Link-Bibliotheken durchsucht werden sollen, welche über die Option .B \-l gesetzt sind. .TP .BI -l library Verwendet die Bibliothek mit dem Namen .I library beim Linken. .TP .B \-nostdinc Es werden nicht die Standardverzeichnisse des Systems nach Header-Dateien durchsucht, sondern nur die Verzeichnisse, die über die .BR -I -Option spezifiziert sind (sowie der aktuelle Ordner, falls passend). .TP .B \-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. .TP .BI "\-o " Dateiname Gibt die Ausgabe in die Datei mit Namen .I Dateiname aus. .TP .B \-S .B 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. .TP .BI \-U macro Löscht die Definition des Makros .IR macro . .TP .B \-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. .TP .B \-Wall Es werden Warnungen bei Zuständen ausgegeben, die es zu vermeiden gilt und die sich leicht vermeiden lassen, sogar in Verbindung mit Makros. .PP .SH BEISPIELE .TP .B g77 quelle.for Übersetzt die Fortran-Quelldatei .BR quelle.for , linkt und erzeugt eine ausführbare Datei .B a.out im aktuellen Ordner. .B a.out wird immer dann erzeugt, wenn kein Zieldateiname angegeben ist (mit der .BR \-o \-Option). .TP .B g77 -o ziel.bin quelle.for Übersetzt die Fortran-Quelldatei .BR quelle.for , linkt und erzeugt die ausführbare Datei mit dem Namen .BR ziel.bin . .TP .B g77 -O2 -o ziel.bin quelle.for Übersetzt die Fortran-Quelldatei .B quelle.for mit Optimierung, linkt und erzeugt eine ausführbare Datei .BR ziel.bin . .TP .B g77 -c mysub.f Übersetzt die Fortran-Quelldatei .BR mysub.f , in der z. B. nur Subroutinen enthalten sind, und erzeugt eine Objektdatei .B mysub.o im aktuellen Ordner. .TP .B g77 -o myprogexe myprog.f mysub.o Linkt die Objektdatei .B mysub.o zum Programm mit der Quelldatei .B myprog.f und erzeugt eine ausführbare Datei .BR myprogexe . .TP .B g77 -o myprogexe myprog.f -ldummylib Linkt eine externe Bibliothek mit Namen .B dummylib an das Programm mit Quelldatei .B myprog.f und erzeugt eine ausführbare Datei .BR myprogexe . .PP .SH DATEIEN .ta \w'LIBDIR/g77\-include 'u file.h C-Header-Datei (Präprozessor) .br file.f Fortran-Quellcodedatei .br file.for Fortran-Quellcodedatei .br file.FOR Fortran-Quellcodedatei .br file.F vorprozessierte Fortran-Quellcodedatei .br file.fpp vorprozessierte Fortran-Quellcodedatei .br file.FPP vorprozessierte Fortran-Quellcodedatei .br file.r Ratfor Quellcodedatei (ratfor nicht enthalten) .br file.s Assemblercode-Datei .br file.o Objektdatei .br a.out gelinkte Ausgabe .br \fITMPDIR\fR/cc\(** temporäre Dateien .br \fILIBDIR\fR/cpp Präprozessor .br \fILIBDIR\fR/f771 Übersetzer .br \fILIBDIR\fR/libg2c.a Fortran Laufzeit-Bibliothek .br \fILIBDIR\fR/libgcc.a GCC Unterroutinen-Bibliothek .br /lib/crt[01n].o Start-up-Routine .br /lib/libc.a Standard-C-Bibliothek, siehe .IR intro ( 3 ) .br /usr/include Standardverzeichnis für .BR #include \-Dateien .br \fILIBDIR\fR/include Standard-gcc-Verzeichnis für .BR #include \-Dateien .sp \fILIBDIR\fR ist gewöhnlich .B /usr/local/lib/\c .IR maschine / version . .sp \fITMPDIR\fR kommt von der Umgebungsvariable \fBTMPDIR\fR. (Die Voreinstellung ist \fB/usr/tmp\fR falls verfügbar, sonst \fB/tmp\fR). .SH "SIEHE AUCH" .BR gcc (1), cpp (1), as (1), ld (1), gdb (1), adb (1), dbx (1), sdb (1). Die Infoseiten zu .RB "`\|" g77 "\|', `\|" gcc "\|', `\|" cpp "\|'," .RB "`\|" as "\|', `\|" ld "\|'," und .RB "`\|" gdb "\|'". .br .I Using and Porting GNU Fortran (for version 0.5.24)\c , James Craig Burley; .I Using and Porting GNU CC (for version 2.0)\c , Richard M. Stallman; .I The C Preprocessor\c , Richard M. Stallman; .I Debugging with GDB: the GNU Source-Level Debugger\c , Richard M. Stallman and Roland H. Pesch; .I Using as: the GNU Assembler\c , Dean Elsner, Jay Fenlason & friends; .I gld: the GNU linker\c , Steve Chamberlain and Roland Pesch. .PP Die GNU Fortran 77 Seite steht im Internet unter: http://gcc.gnu.org/onlinedocs/g77_news.html .br http://world.std.com/~burley/g77.html .PP Infos zum Projekt des geplanten Fortran-95 Compilers (g95) stehen unter: http://g95.sourceforge.net/ .PP Eine deutschsprachige Internetseite mit vielen Informationen zum Thema Fortran findet sich unter: http://www.unics.uni-hannover.de/rrzn/gehrke/frei.html .PP .SH BUGS Nähere Informationen zum Thema 'Melden von Bugs' erhalten Sie nach Eingabe von .B info g77 -n Bugs\c \&\|in der Shell. .SH 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. .SH 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.