EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

mips-linux-gnu-gfortran - Online in der Cloud

Führen Sie mips-linux-gnu-gfortran im kostenlosen OnWorks-Hosting-Anbieter über Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator aus

Dies ist der Befehl mips-linux-gnu-gfortran, der im kostenlosen Hosting-Anbieter OnWorks über eine unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


gfortran - GNU Fortran-Compiler

ZUSAMMENFASSUNG


gfortran [-c|-S|-E]
[-g] [-S] [-OGrad des ]
[-Wwarnen...] [-pedantisch]
[-Idir...] [-Ldir...]
[-DMakro[=definiere]...] [-UMakro]
[-fzu erhalten...]
[-mMaschinen-Option...]
[-o Outfile] im Ordner...

Hier sind nur die nützlichsten Optionen aufgeführt; den Rest siehe unten.

BESCHREIBUNG


Das Gfortran Befehl unterstützt alle Optionen, die von der gcc Befehl. Nur Optionen
spezifisch für GNU Fortran sind hier dokumentiert.

Alle GCC- und GNU Fortran-Optionen werden von beiden akzeptiert Gfortran und durch gcc (sowie alle
andere gleichzeitig gebaute Treiber, wie z g ++), da GNU Fortran dem GCC hinzugefügt wurde
Distribution ermöglicht die Akzeptanz von GNU Fortran-Optionen durch alle relevanten Treiber.

In einigen Fällen haben Optionen positive und negative Formen; die Negativform von -ffoo würde
be -fno-foo. In diesem Handbuch wird nur eines dieser beiden Formulare dokumentiert, je nachdem, welches nicht das ist
default.

OPTIONAL


Hier ist eine Zusammenfassung aller für GNU Fortran spezifischen Optionen, gruppiert nach Typ.
Erläuterungen finden Sie in den folgenden Abschnitten.

Fortran Sprache Optionen
-Sturz-Intrinsik -fBackslash -fcray-Zeiger -fd-Zeilen-als-Code -fd-Zeilen-als-Kommentare
-fdefault-double-8 -fdefault-Ganzzahl-8 -fdefault-real-8 -fdollar-ok
-Feste-Linien-Länge-n -fixe-zeilenlänge-keine -ffreie Form -freie-zeilenlänge-n
-ffree-line-length-none -fimplizit-keine -finteger-4-integer-8 -fmax-Identifier-Länge
-fmodule-privat -fixed-form -fno-Bereichsprüfung -fopenac -fopenmp -echt-4-echt-10
-echt-4-echt-16 -echt-4-echt-8 -echt-8-echt-10 -echt-8-echt-16 -echt-8-echt-4
-std=std

Anarbeitung Optionen
-EIN-Frage[=beantworten] -AFrage=beantworten -C -CC -DMakro[=definiere] -H -P -UMakro -cpp -dd
-di -dm -dN -du -fworking-Verzeichnis -imultilib dir -iPräfix Datei -Ich zitiere -isysroot dir
-isystem dir -nocpp -nostdinc -undef

Fehler und Warnung Optionen
-Waliasing -Wand -Wampersand -Warray-Grenzen -WC-Bindungstyp -WZeichenkürzung
-WUmwandlung -WFunktion-Beseitigung -Wimplicit-Schnittstelle -Wimplicit-Verfahren
-Wintrinsic-Schatten -Wuse-ohne-nur -Wintrinsics-std -Wline-Kürzung
-Wno-Align-Commons -Wno-Tabs -Wreal-q-Konstante -Wüberraschend -Wunderfluss
-Wunused-Parameter -Wrealloc-links -Wrealloc-lhs-all -Wtarget-Lebensdauer -fmax-Fehler=n
-fsyntax-nur -pedantisch -pedantische-Fehler

Fehlerbeseitigung Optionen
-fbacktrace -fdump-fortran-optimiert -fdump-fortran-original -fdump-parse-tree
-ffpe-trap=Liste -ffpe-Zusammenfassung=Liste

Verzeichnis Optionen
-Idir -Jdir -fintrinsische-Module-Pfad dir

Link Optionen
-static-libgfortran

Laufzeit Optionen
-fconvert=Umwandlung -fmax-Untersatzlänge=Länge -frecord-marker=Länge -fsign-null

Code Generation Optionen
-faggressive-Funktions-Beseitigung -fblas-matmul-limit=n -fbounds-check
-fcheck-array-temporarys -fcheck=
-fcoarray= -fextern-blas -ff2c -ffrontend-optimieren
-finit-Zeichen=n -finit-integer=n -finit-local-null -finit-logisch=
-finit-real= -fmax-Array-Konstruktor=n -fmax-stack-var-size=n
-fno-align-commons -fno-automatisch -fno-protect-parens -fno-Unterstreichung
-fSekunden-Unterstrich -fpack-abgeleitet -frealloc-lhs -frekursiv -frepack-Arrays
-fshort-enums -fstack-Arrays

Optionen Regelung Fortran Dialekt
Die folgenden Optionen steuern die Details des vom Compiler akzeptierten Fortran-Dialekts:

-ffreie Form
-fixed-form
Geben Sie das von der Quelldatei verwendete Layout an. Das Freiform-Layout wurde eingeführt in
Fortran 90. Die feste Form wurde traditionell in älteren Fortran-Programmen verwendet. Wann
keine Option angegeben ist, wird das Quellformular durch die Dateierweiterung bestimmt.

-Sturz-Intrinsik
Diese Option bewirkt, dass alle intrinsischen Prozeduren (einschließlich der GNU-spezifischen Erweiterungen)
akzeptiert sein. Dies kann nützlich sein mit -std=f95 Normkonformität erzwingen, aber erhalten
Zugriff auf die gesamte Palette der intrinsischen Funktionen, die mit verfügbar sind Gfortran. Als Konsequenz,
-Wintrinsics-std wird ignoriert und keine benutzerdefinierte Prozedur mit dem gleichen Namen wie
jedes intrinsische wird aufgerufen, außer wenn es explizit als "EXTERNAL" deklariert ist.

-fd-Zeilen-als-Code
-fd-Zeilen-als-Kommentare
Aktivieren Sie die Sonderbehandlung für Zeilen, die mit "d" oder "D" in Quellen mit fester Form beginnen.
Besitzt das -fd-Zeilen-als-Code Option gegeben, werden sie so behandelt, als ob die erste Spalte
enthielt ein Leerzeichen. Wenn die -fd-Zeilen-als-Kommentare Option gegeben ist, werden sie behandelt als
Kommentarzeilen.

-fdollar-ok
Erlauben $ als gültiges nicht erstes Zeichen in einem Symbolnamen. Symbole, die mit beginnen $ sind
abgelehnt, da unklar ist, welche Regeln für die implizite Typisierung als anders gelten sollen
Anbieter implementieren unterschiedliche Regeln. Verwenden von $ in "IMPLICIT"-Anweisungen wird ebenfalls abgelehnt.

-fBackslash
Ändern Sie die Interpretation von Backslashes in String-Literalen von einem einzelnen Backslash
Zeichen in Escape-Zeichen im "C-Stil" umwandeln. Folgende Kombinationen werden erweitert
"\a", "\b", "\f", "\n", "\r", "\t", "\v", "\\" und "\0" in die ASCII-Zeichen
Warnung, Rücktaste, Formularvorschub, Zeilenumbruch, Wagenrücklauf, horizontaler Tabulator, vertikaler Tabulator,
Backslash bzw. NUL. Außerdem "\x"nn, "\u"nnnn und du"nnnnnnn
(wo jeder n ist eine hexadezimale Ziffer) werden in die Unicode-Zeichen übersetzt
entsprechend den angegebenen Codepunkten. Alle anderen Kombinationen eines Charakters
vor \ sind nicht erweitert.

-fmodule-privat
Legen Sie die Standardzugänglichkeit von Modulentitäten auf "PRIVATE" fest. Nutzungsbedingt
Entitäten sind nicht zugänglich, es sei denn, sie sind ausdrücklich als "PUBLIC" deklariert.

-Feste-Linien-Länge-n
Spalte festlegen, nach der Zeichen in typischen Zeilen mit fester Form im ignoriert werden
Quelldatei, und durch die Leerzeichen angenommen werden (als ob auf diese Länge aufgefüllt) nach
die Enden von kurzen Linien mit fester Form.

Beliebte Werte für n enthalten 72 (Standard und Standard), 80 (Kartenbild) und
132 (entsprechend den "Extended-Source"-Optionen in einigen populären Compilern). n Mai
auch sein keine, was bedeutet, dass die gesamte Zeile sinnvoll ist und dieser fortgesetzte Charakter
An Konstanten werden niemals implizite Leerzeichen angehängt, um die Zeile auszufüllen.
-fixed-line-length-0 bedeutet dasselbe wie -fixe-zeilenlänge-keine.

-freie-zeilenlänge-n
Spalte festlegen, nach der Zeichen in typischen Freiformzeilen in der Quelle ignoriert werden
Datei. Der Standardwert ist 132. n könnte sein keine, was bedeutet, dass die gesamte Zeile
sinnvoll. -ffreie-Zeilenlänge-0 bedeutet dasselbe wie -ffree-line-length-none.

-fmax-Identifier-Länge=n
Geben Sie die maximal zulässige ID-Länge an. Typische Werte sind 31 (Fortran 95) und
63 (Fortran 2003 und Fortran 2008).

-fimplizit-keine
Geben Sie an, dass keine implizite Eingabe zulässig ist, es sei denn, sie wird durch explizites "IMPLICIT" überschrieben.
Aussagen. Dies entspricht dem Hinzufügen von "implizit keine" am Anfang von jedem
Verfahren.

-fcray-Zeiger
Aktivieren Sie die Cray-Zeigererweiterung, die eine C-ähnliche Zeigerfunktionalität bietet.

-fopenac
Aktivieren Sie die OpenACC-Erweiterungen. Dies beinhaltet OpenACC "!$acc" Direktiven in freier Form
und "c$acc", *$acc und "!$acc" Direktiven in fester Form, "!$" bedingte Kompilierung
Wächter in freier Form und „c$“, „*$“ und „!$“ Wächter in fester Form, und wann
linking sorgt dafür, dass die OpenACC-Laufzeitbibliothek eingebunden wird.

Beachten Sie, dass dies eine experimentelle Funktion ist, die unvollständig ist und in Zukunft geändert werden kann
Versionen von GCC. Sehenhttps://gcc.gnu.org/wiki/OpenACC> für weitere Informationen.

-fopenmp
Aktivieren Sie die OpenMP-Erweiterungen. Dies beinhaltet OpenMP "!$omp" Direktiven in freier Form
und "c$omp", *$omp und "!$omp" Direktiven in fester Form, "!$" bedingte Kompilierung
Wächter in freier Form und „c$“, „*$“ und „!$“ Wächter in fester Form, und wann
linking sorgt dafür, dass die OpenMP-Laufzeitbibliothek eingebunden wird. Die Option -fopenmp
impliziert -frekursiv.

-fno-Bereichsprüfung
Deaktivieren Sie die Bereichsprüfung für Ergebnisse der Vereinfachung von konstanten Ausdrücken während
Zusammenstellung. Zum Beispiel gibt GNU Fortran zur Kompilierzeit einen Fehler aus, wenn
Vereinfachen von "a = 1. / 0". Bei dieser Option wird kein Fehler ausgegeben und "a" wird
den Wert "+Unendlich" zugewiesen. Wenn ein Ausdruck zu einem Wert außerhalb von ausgewertet wird
relevanten Bereich von ["-HUGE()":"HUGE()"], dann wird der Ausdruck durch "-Inf" ersetzt
oder "+Inf" entsprechend. In ähnlicher Weise führt "DATA i/Z'FFFFFFFF'/" zu einer Ganzzahl
Überlauf auf den meisten Systemen, aber mit -fno-Bereichsprüfung der Wert wird "umlaufen" und
"i" wird stattdessen auf -1 initialisiert.

-fdefault-Ganzzahl-8
Legen Sie den standardmäßigen Integer- und den logischen Typ auf einen 8 Byte breiten Typ fest. Diese Option auch
beeinflusst die Art von ganzzahligen Konstanten wie 42. Im Gegensatz zu -finteger-4-integer-8, es tut
Variablen mit expliziter Art-Deklaration nicht heraufstufen.

-fdefault-real-8
Legen Sie den standardmäßigen Realtyp auf einen 8 Byte breiten Typ fest. Diese Option beeinflusst auch die Art der
nicht-doppelte reelle Konstanten wie 1.0 und fördert die Standardbreite von "DOUBLE".
PRECISION" nach Möglichkeit auf 16 Byte, sofern nicht auch "-fdefault-double-8" angegeben ist
-echt-4-echt-8, es fördert keine Variablen mit expliziter Art-Deklaration.

-fdefault-double-8
Setzen Sie den Typ "DOUBLE PRECISION" auf einen 8 Byte breiten Typ. Nichts tun, wenn dies schon ist
der Standard. Wenn -fdefault-real-8 gegeben ist, wäre "DOUBLE PRECISION" stattdessen
nach Möglichkeit auf 16 Byte hochgestuft und -fdefault-double-8 kann verwendet werden, um dies zu verhindern.
Die Art von reellen Konstanten wie "1.d0" wird nicht geändert durch -fdefault-real-8 obwohl,
Desweiteren -fdefault-double-8 hat keinen Einfluss darauf.

-finteger-4-integer-8
Heben Sie alle "INTEGER(KIND=4)"-Entitäten in "INTEGER(KIND=8)"-Entitäten hoch. Wenn "KIND=8"
nicht verfügbar ist, wird ein Fehler ausgegeben. Diese Option sollte mit Vorsicht verwendet werden
und möglicherweise nicht für Ihre Codes geeignet. Zu den möglichen Problembereichen gehören Anrufe an
externe Prozeduren, Ausrichtung in "ÄQUIVALENZ" und/oder "COMMON", generische Schnittstellen,
BOZ-Literalkonstantenkonvertierung und E/A. Inspektion des Zwischenprodukts
Darstellung des übersetzten Fortran-Codes, erstellt von -fdump-tree-originalist
vorgeschlagen.

-echt-4-echt-8
-echt-4-echt-10
-echt-4-echt-16
-echt-8-echt-4
-echt-8-echt-10
-echt-8-echt-16
Heben Sie alle "REAL(KIND=M)"-Entitäten in "REAL(KIND=N)"-Entitäten hoch. Wenn "REAL(KIND=N)" . ist
nicht verfügbar, wird ein Fehler ausgegeben. Alle anderen echten Arten sind nicht betroffen
durch diese Möglichkeit. Diese Optionen sollten mit Vorsicht verwendet werden und sind möglicherweise nicht geeignet für
deine Codes. Mögliche Problembereiche sind Aufrufe zu externen Verfahren, Abstimmung
in "EQUIVALENCE" und/oder "COMMON", generische Schnittstellen, BOZ-Literalkonstantenkonvertierung,
und E/A. Besichtigung der Zwischendarstellung des übersetzten Fortran
Code, produziert von -fdump-tree-original, wird vorgeschlagen.

-std=std
Geben Sie den Standard an, dem das Programm voraussichtlich entsprechen soll. Dies kann einer der folgenden sein:
f95, f2003, f2008, Gnu, oder Erbe. Der Standardwert für std is Gnu, die spezifiziert
eine Obermenge des Fortran 95-Standards, die alle von . unterstützten Erweiterungen enthält
GNU Fortran, obwohl Warnungen für veraltete Erweiterungen ausgegeben werden, die nicht empfohlen werden
zur Verwendung in neuem Code. Die Erbe Wert ist äquivalent, aber ohne die Warnungen für
veraltete Erweiterungen und können für alte Nicht-Standard-Programme nützlich sein. Die f95, f2003
und f2008 Werte spezifizieren strikte Konformität mit Fortran 95, Fortran 2003 und
Fortran 2008-Standards; Fehler werden für alle Erweiterungen über das hinaus gegeben
relevanten Sprachstandard, und es werden Warnungen für die Fortran 77-Funktionen ausgegeben, die
sind zulässig, aber in späteren Standards veraltet. -std=f2008ts ermöglicht den Fortran 2008
Standard einschließlich der Ergänzungen der Technischen Spezifikation (TS) 29113 auf Weitere
Interoperabilität von Fortran mit C und TS 18508 über zusätzliche parallele Funktionen in
Fortran.

Ermöglichen und anpassen Vorverarbeitung
Präprozessorbezogene Optionen. Siehe Sektion Anarbeitung und bedingt Zusammenstellung für
nähere Informationen zur Vorverarbeitung in Gfortran.

-cpp
-nocpp
Aktivieren Sie die Vorverarbeitung. Der Präprozessor wird automatisch aufgerufen, wenn die Dateierweiterung
is .fpp, .FPP, .F, .ZUM, .FTN, .F90, .F95, .F03 or .F08. Verwenden Sie diese Option, um manuell
ermöglichen die Vorverarbeitung jeder Art von Fortran-Datei.

Um die Vorverarbeitung von Dateien mit einer der oben aufgeführten Erweiterungen zu deaktivieren, verwenden Sie die
Negativform: -nocpp.

Der Präprozessor wird im traditionellen Modus ausgeführt. Alle Einschränkungen des Dateiformats,
insbesondere die Beschränkungen der Zeilenlänge gelten auch für vorverarbeitete Ausgaben, daher ist es
könnte ratsam sein, die zu verwenden -ffree-line-length-none or -fixe-zeilenlänge-keine
Optionen.

-dm Generieren Sie anstelle der normalen Ausgabe eine Liste von '#define'-Anweisungen für alle
Makros, die während der Ausführung des Präprozessors definiert wurden, einschließlich vordefinierter Makros.
Auf diese Weise können Sie herausfinden, was in Ihrer Version des
Präprozessor. Angenommen, Sie haben keine Datei foo.f90, der Befehl

berühren Sie foo.f90; gfortran -cpp -E -dM foo.f90

zeigt alle vordefinierten Makros an.

-dd Like -dm außer in zweierlei Hinsicht: es enthält nicht die vordefinierten Makros, und es
gibt sowohl die "#define"-Direktiven als auch das Ergebnis der Vorverarbeitung aus. Beide Arten von
Ausgabe gehen Sie in die Standardausgabedatei.

-dN Like -dd, sondern geben nur die Makronamen aus, nicht ihre Erweiterungen.

-du Like dD außer dass nur Makros, die erweitert sind oder deren Definiertheit getestet wird in
Präprozessordirektiven werden ausgegeben; die Ausgabe wird verzögert, bis die Verwendung oder der Test von
das Makro; und '#undef'-Direktiven werden auch für Makros ausgegeben, die getestet, aber nicht definiert sind bei
die Zeit.

-di Ausgabe von '#include'-Direktiven zusätzlich zum Ergebnis der Vorverarbeitung.

-fworking-Verzeichnis
Aktivieren Sie die Generierung von Linienmarkierungen in der Präprozessorausgabe, die den Compiler
kennen das aktuelle Arbeitsverzeichnis zum Zeitpunkt der Vorverarbeitung. Wenn diese Option ist
aktiviert ist, gibt der Präprozessor nach dem ersten Linienmarker einen zweiten Linienmarker aus
mit dem aktuellen Arbeitsverzeichnis gefolgt von zwei Schrägstrichen. GCC wird dies verwenden
Verzeichnis, wenn es in der vorverarbeiteten Eingabe vorhanden ist, als das Verzeichnis, das ausgegeben wird als
das aktuelle Arbeitsverzeichnis in einigen Debugging-Informationsformaten. Diese Option ist
implizit aktiviert, wenn Debugging-Informationen aktiviert sind, dies kann jedoch mit verhindert werden
die negierte Form -fno-Arbeitsverzeichnis. Wenn der -P Flag ist im Befehl vorhanden
line hat diese Option keine Auswirkung, da keinerlei "#line"-Anweisungen ausgegeben werden.

-idrafter dir
Suche dir für include-Dateien, aber tun Sie dies nach allen mit angegebenen Verzeichnissen -I und
die Standard-Systemverzeichnisse sind erschöpft. dir wird als System behandelt
Verzeichnis einschließen. Wenn dir mit "=" beginnt, wird das "=" durch das ersetzt
sysroot-Präfix; sehen -Sysroot und -isysroot.

-imultilib dir
Verwenden Sie die dir als Unterverzeichnis des Verzeichnisses, das zielspezifische C++-Header enthält.

-iPräfix Präfix
Angeben Präfix als Präfix für nachfolgende -imitPräfix Optionen. Wenn die Präfix
ein Verzeichnis darstellt, sollten Sie das abschließende '/' einschließen.

-isysroot dir
Diese Option ist wie die -Sysroot Option, gilt aber nur für Header-Dateien. Siehe die
-Sysroot Option für weitere Informationen.

-Ich zitiere dir
Suche dir nur für Header-Dateien, die mit "#include "file"" angefordert wurden; Sie sind nicht
gesucht nach "#include ", vor allen durch . angegebenen Verzeichnissen -I und vor dem
Standard-Systemverzeichnisse. Wenn dir beginnt mit "=", dann wird das "=" ersetzt durch
das Sysroot-Präfix; sehen -Sysroot und -isysroot.

-isystem dir
Suche dir für Header-Dateien, nach allen durch . angegebenen Verzeichnissen -I aber vor dem
Standard-Systemverzeichnisse. Markieren Sie es als Systemverzeichnis, damit es dasselbe erhält
Sonderbehandlung wie bei den Standard-Systemverzeichnissen. Wenn dir beginnt mit
"=", dann wird das "=" durch das Sysroot-Präfix ersetzt; sehen -Sysroot und -isysroot.

-nostdinc
Durchsuchen Sie nicht die Standardsystemverzeichnisse nach Header-Dateien. Nur die Verzeichnisse
du hast angegeben mit -I Optionen (und das Verzeichnis der aktuellen Datei, wenn
geeignet) gesucht.

-undef
Definieren Sie keine systemspezifischen oder GCC-spezifischen Makros vor. Der Standard vordefiniert
Makros bleiben definiert.

-APrädikat=beantworten
Machen Sie eine Aussage mit dem Prädikat Prädikat und antworte beantworten. Dieses Formular ist
der älteren Form vorgezogen -Ein Prädikat (Antwort), das noch unterstützt wird, weil es
verwendet keine Shell-Sonderzeichen.

-EIN-Prädikat=beantworten
Stornieren Sie eine Behauptung mit dem Prädikat Prädikat und antworte beantworten.

-C Kommentare nicht verwerfen. Alle Kommentare werden an die Ausgabedatei weitergegeben, außer
für Kommentare in verarbeiteten Weisungen, die mit der Weisung gelöscht werden.

Sie sollten auf Nebenwirkungen bei der Anwendung vorbereitet sein -C; es bewirkt, dass der Präprozessor
Kommentare als eigenständige Token behandeln. Zum Beispiel Kommentare, die beim
Beginn einer Direktive-Linie hat den Effekt, dass diese Linie in eine
normale Quellzeile, da das erste Token in der Zeile kein '#' mehr ist.

Warnung: Dies behandelt derzeit nur Kommentare im C-Stil. Der Präprozessor noch nicht
Kommentare im Fortran-Stil erkennen.

-CC Verwerfen Sie keine Kommentare, auch nicht während der Makroerweiterung. Das ist wie -C, außer
dass Kommentare, die in Makros enthalten sind, auch an die Ausgabedatei weitergegeben werden, wo
das Makro wird erweitert.

Neben den Nebenwirkungen der -C Option, die -CC Option verursacht alle C++-Stile
Kommentare in einem Makro, die in Kommentare im C-Stil umgewandelt werden sollen. Dies soll später verhindert werden
Verwendung dieses Makros, um den Rest der Quellzeile versehentlich auskommentieren zu können.
Das -CC Option wird im Allgemeinen verwendet, um Lint-Kommentare zu unterstützen.

Warnung: Dies behandelt derzeit nur Kommentare im C- und C++-Stil. Der Präprozessor funktioniert
noch keine Kommentare im Fortran-Stil erkennen.

-DName
Name als Makro vordefinieren, mit Definition 1.

-DName=Definition
Die Inhalte von Definition werden tokenisiert und verarbeitet, als ob sie währenddessen erschienen wären
Übersetzungsphase drei in einer '#define'-Direktive. Insbesondere wird die Definition
durch eingebettete Newline-Zeichen abgeschnitten werden.

Wenn Sie den Präprozessor aus einer Shell oder einem Shell-ähnlichen Programm aufrufen, benötigen Sie möglicherweise
um die Anführungszeichensyntax der Shell zu verwenden, um Zeichen wie Leerzeichen zu schützen, die ein haben
Bedeutung in der Shell-Syntax.

Wenn Sie ein funktionsähnliches Makro in der Befehlszeile definieren möchten, schreiben Sie dessen Argument
Liste mit umschließenden Klammern vor dem Gleichheitszeichen (falls vorhanden). Klammern sind
für die meisten Shells sinnvoll, daher müssen Sie die Option zitieren. Mit sh und csh,
"-D'name(args...)=definition'" funktioniert.

-D und -U Optionen werden in der Reihenfolge verarbeitet, in der sie in der Befehlszeile angegeben sind. Alle
Die Dateioptionen -imacros und -include werden nach allen Optionen -D und -U verarbeitet.

-H Drucken Sie den Namen jeder verwendeten Header-Datei zusätzlich zu anderen normalen Aktivitäten. Jeder
name ist eingerückt, um zu zeigen, wie tief er im '#include'-Stack ist.

-P Verhindern Sie die Erzeugung von Linienmarkierungen in der Ausgabe des Präprozessors. Das könnte sein
nützlich, wenn der Präprozessor auf etwas ausgeführt wird, das kein C-Code ist und gesendet wird
zu einem Programm, das durch die Linienmarkierungen verwechselt werden könnte.

-UName
Brechen Sie jede vorherige Definition von . ab Name, entweder eingebaut oder mit a -D .

Optionen zu Anforderung or unterdrücken Fehler und Warnungen
Fehler sind Diagnosemeldungen, die melden, dass der GNU Fortran-Compiler nicht kompilieren kann
den entsprechenden Quellcode. Der Compiler verarbeitet das Programm weiter in
ein Versuch, weitere Fehler zu melden, um das Debuggen zu unterstützen, führt jedoch nicht zu kompilierten
Ausgabe.

Warnungen sind Diagnosemeldungen, die Konstruktionen melden, die nicht inhärent sind
fehlerhaft sind, aber riskant sind oder darauf hindeuten, dass wahrscheinlich ein Fehler im Programm vorliegt.
Es sei denn -Fehler angegeben ist, verhindern sie nicht die Kompilierung des Programms.

Sie können viele spezifische Warnungen anfordern, wobei die Optionen beginnen -WZum Beispiel -Wimplizit
Warnungen bei impliziten Erklärungen anzufordern. Jede dieser spezifischen Warnoptionen auch
hat einen negativen Formanfang -Wnein- um Warnungen auszuschalten; zum Beispiel, -Wno-implizit.
In diesem Handbuch wird nur eines der beiden Formulare aufgeführt, je nachdem, welches nicht das Standardformat ist.

Diese Optionen steuern die Menge und Art von Fehlern und Warnungen, die von GNU Fortran ausgegeben werden:

-fmax-Fehler=n
Begrenzt die maximale Anzahl von Fehlermeldungen auf n, an welchem ​​Punkt GNU Fortran aussteigt
anstatt zu versuchen, den Quellcode weiter zu verarbeiten. Wenn n ist 0, es gibt keine
Begrenzung der Anzahl der erzeugten Fehlermeldungen.

-fsyntax-nur
Überprüfen Sie den Code auf Syntaxfehler, kompilieren Sie ihn jedoch nicht. Dies erzeugt
Moduldateien für jedes im Code vorhandene Modul, aber keine andere Ausgabedatei.

-pedantisch
Geben Sie Warnungen für die Verwendung von Erweiterungen für Fortran 95 aus. -pedantisch gilt auch für
C-Sprachkonstrukte, wo sie in GNU Fortran-Quelldateien vorkommen, wie z \e
in einer Zeichenkonstante innerhalb einer Direktive wie "#include".

Gültige Fortran 95-Programme sollten mit oder ohne diese Option ordnungsgemäß kompiliert werden.
Ohne diese Option sind jedoch bestimmte GNU-Erweiterungen und traditionelle Fortran-Funktionen
werden ebenfalls unterstützt. Bei dieser Option werden viele von ihnen abgelehnt.

Einige Benutzer versuchen zu verwenden -pedantisch um Programme auf Konformität zu überprüfen. Sie finden bald
dass es nicht ganz das tut, was sie wollen – es findet einige nicht standardmäßige Praktiken, aber
nicht alle. Verbesserungen von GNU Fortran in diesem Bereich sind jedoch willkommen.

Dies sollte in Verbindung mit verwendet werden -std=f95, -std=f2003 or -std=f2008.

-pedantische-Fehler
Like -pedantisch, außer dass Fehler statt Warnungen ausgegeben werden.

-Wand
Aktiviert häufig verwendete Warnoptionen in Bezug auf die Verwendung, die wir vermeiden sollten
und von denen wir glauben, dass sie leicht zu vermeiden sind. Dies beinhaltet derzeit -Waliasing,
-Wampersand, -WUmwandlung, -Wüberraschend, -WC-Bindungstyp, -Wintrinsics-std,
-Wno-Tabs, -Wintrinsic-Schatten, -Wline-Kürzung, -Wtarget-Lebensdauer, -Wreal-q-Konstante
und -Unbenutzt.

-Waliasing
Warnen Sie vor möglichem Aliasing von Dummy-Argumenten. Insbesondere warnt es, wenn das gleiche
Das tatsächliche Argument ist einem Dummy-Argument mit "INTENT(IN)" und einem Dummy zugeordnet
Argument mit "INTENT(OUT)" in einem Aufruf mit einer expliziten Schnittstelle.

Das folgende Beispiel löst die Warnung aus.

Schnittstelle
Unterprogramm bar(a,b)
Ganzzahl, Absicht(in) :: a
Integer, Intent(out) :: b
Unterprogramm beenden
Endschnittstelle
ganze Zahl :: a

Anrufleiste(a,a)

-Wampersand
Warnen Sie vor fehlendem kaufmännischem Und-Zeichen in fortlaufenden Zeichenkonstanten. Die Warnung ist gegeben
mit -Wampersand, -pedantisch, -std=f95, -std=f2003 und -std=f2008. Hinweis: Ohne
kaufmännisches Und wird in einer fortlaufenden Zeichenkonstante angegeben, GNU Fortran nimmt die Fortsetzung bei an
das erste kommentarlose Zeichen ohne Leerzeichen nach dem kaufmännischen Und-Zeichen, das den eingeleitet hat
Fortsetzung.

-Warray-Provisorien
Warnen Sie vor vom Compiler generierten Array-Temporarys. Die von . generierten Informationen
diese Warnung ist manchmal bei der Optimierung nützlich, um solche temporären Ereignisse zu vermeiden.

-WC-Bindungstyp
Warnen, wenn eine Variable möglicherweise nicht C-interoperabel ist. Warnen Sie insbesondere, wenn die
Variable wurde mit einem intrinsischen Typ mit Standardtyp deklariert, anstatt zu verwenden
ein Art-Parameter, der für die C-Interoperabilität in der intrinsischen "ISO_C_Binding" definiert ist
Modul. Diese Option wird impliziert durch -Wand.

-WZeichenkürzung
Warnen, wenn eine Zeichenzuweisung die zugewiesene Zeichenfolge abschneidet.

-Wline-Kürzung
Warnen, wenn eine Quellcodezeile abgeschnitten wird. Diese Option wird impliziert durch -Wand. For
Quellcode in freier Form, die Standardeinstellung ist -Werror=Zeilenkürzung so dass Kürzungen
werden als Fehler gemeldet.

-WUmwandlung
Warnung vor impliziten Konvertierungen, die den Wert des Ausdrucks wahrscheinlich ändern
nach der Konvertierung. Behauptet von -Wand.

-Wumwandlung-extra
Warnen Sie vor impliziten Konvertierungen zwischen verschiedenen Typen und Arten. Diese Option funktioniert
nicht implizieren -WUmwandlung.

-Wextra
Aktiviert einige Warnoptionen für die Verwendung von Sprachfunktionen, die problematisch sein können.
Dies umfasst derzeit -Wvergleiche-reals und -Wunused-Parameter.

-Wimplicit-Schnittstelle
Warnen, wenn eine Prozedur ohne explizite Schnittstelle aufgerufen wird. Beachten Sie, dass dies nur überprüft
dass eine explizite Schnittstelle vorhanden ist. Es prüft nicht, ob die deklarierten Schnittstellen
sind über die Programmeinheiten hinweg konsistent.

-Wimplicit-Verfahren
Warnen, wenn eine Prozedur aufgerufen wird, die weder eine explizite Schnittstelle hat noch wurde
als "EXTERN" deklariert.

-Wintrinsics-std
Warnen, wenn Gfortran findet eine Prozedur namens intrinsisch, die in der nicht verfügbar ist
aktuell gewählter Standard (mit -Std) und behandelt es als "EXTERNE" Prozedur, weil
von diesem. -Sturz-Intrinsik kann verwendet werden, um dieses Verhalten nie auszulösen und immer zu verlinken
unabhängig vom gewählten Standard an den Eigensinn angepasst.

-Wreal-q-Konstante
Erzeuge eine Warnung, wenn eine Real-Literal-Konstante einen "q"-Exponenten-Buchstaben enthält.

-Wüberraschend
Erstellen Sie eine Warnung, wenn "verdächtige" Codekonstrukte gefunden werden. Während
technisch rechtlich weisen diese in der Regel auf einen Fehler hin.

Dies erzeugt derzeit unter folgenden Umständen eine Warnung:

* Ein INTEGER SELECT-Konstrukt hat ein CASE, das nie als niedrigeres abgeglichen werden kann
Wert ist größer als sein oberer Wert.

* Ein LOGICAL SELECT-Konstrukt hat drei CASE-Anweisungen.

* Ein TRANSFER gibt eine Quelle an, die kürzer ist als das Ziel.

* Der Typ eines Funktionsergebnisses wird mehrfach mit dem gleichen Typ deklariert. Wenn
-pedantisch oder der standardkonforme Modus aktiviert ist, ist dies ein Fehler.

* Eine Variable "CHARACTER" wird mit negativer Länge deklariert.

-Wtabs
Standardmäßig werden Tabs als Whitespace akzeptiert, Tabs sind jedoch keine Mitglieder des Fortran
Zeichensatz. Bei Fortsetzungszeilen ist ein Tabulator gefolgt von einer Ziffer zwischen 1 und 9
unterstützt. -Wtabs wird eine Warnung ausgegeben, wenn eine Registerkarte gefunden wird. Notiz,
-Wtabs ist aktiv für -pedantisch, -std=f95, -std=f2003, -std=f2008, -std=f2008ts und
-Wand.

-Wunderfluss
Erzeugt eine Warnung, wenn numerische Konstantenausdrücke angetroffen werden, die an
UNDERFLOW während der Kompilierung. Standardmäßig aktiviert.

-Wintrinsic-Schatten
Warnen, wenn eine benutzerdefinierte Prozedur oder Modulprozedur denselben Namen hat wie ein
intrinsisch; in diesem Fall eine explizite Schnittstelle oder "EXTERNAL" oder "INTRINSIC"
Deklaration kann erforderlich sein, um Anrufe später zu den gewünschten zu lösen
intrinsisch / Verfahren. Diese Option wird impliziert durch -Wand.

-Wuse-ohne-nur
Warnen, wenn eine "USE"-Anweisung keinen "ONLY"-Qualifizierer hat und daher implizit alle importiert
öffentliche Entitäten des verwendeten Moduls.

-Wunused-Dummy-Argument
Warnen Sie vor nicht verwendeten Dummy-Argumenten. Diese Option wird impliziert durch -Wand.

-Wunused-Parameter
Gegensätzlich zu gccBedeutung von -Wunused-Parameter, Gfortran's Umsetzung davon
Option warnt nicht vor nicht verwendeten Dummy-Argumenten (siehe -Wunused-Dummy-Argument), Aber
über nicht verwendete "PARAMETER"-Werte. -Wunused-Parameter wird impliziert durch -Wextra wenn auch
-Unbenutzt or -Wand wird eingesetzt.

-Walign-Commons
Standardmäßig Gfortran warnt vor jeder Gelegenheit, dass Variablen richtig aufgefüllt werden
Ausrichtung innerhalb eines "COMMON"-Blocks. Diese Warnung kann deaktiviert werden über
-Wno-Align-Commons. Siehe auch -falign-Commons.

-WFunktion-Beseitigung
Warnen, wenn Funktionsaufrufe durch die Optimierungen eliminiert werden, die durch die
-ffrontend-optimieren .

-Wrealloc-links
Warnen, wenn der Compiler möglicherweise Code für die Zuweisung oder Neuzuweisung eines einfügt
zuweisbare Array-Variable des intrinsischen Typs in intrinsischen Zuweisungen. In heißen Schleifen,
die Neuzuweisungsfunktion von Fortran 2003 kann die Leistung beeinträchtigen. Wenn das Array ist
bereits mit der richtigen Form belegt, ziehen Sie die Verwendung einer Array-Spezifikation für das gesamte Array in Betracht
(zB "(:,:,:)") für die Variable auf der linken Seite um die Neuzuordnung zu verhindern
prüfen. Beachten Sie, dass in einigen Fällen die Warnung angezeigt wird, auch wenn der Compiler dies tut
Optimierung der Umverteilungsprüfungen weg. Zum Beispiel, wenn die rechte Seite enthält
dieselbe Variable multipliziert mit einem Skalar. Siehe auch -frealloc-lhs.

-Wrealloc-lhs-all
Warnen, wenn der Compiler Code für die Zuweisung oder Neuzuweisung eines einfügt
zuweisbare Variable; dazu gehören Skalare und abgeleitete Typen.

-Wvergleiche-reals
Warnen Sie beim Vergleich von reellen oder komplexen Typen auf Gleichheit oder Ungleichheit. Diese Option ist
behauptet von -Wextra.

-Wtarget-Lebensdauer
Warnen, wenn der Zeiger in einer Zeigerzuweisung möglicherweise länger als sein Ziel ist. Dies
Option wird impliziert durch -Wand.

-Wzerotrip
Warnen, wenn bekannt ist, dass eine "DO"-Schleife zur Kompilierzeit null Mal ausgeführt wird. Diese Option ist
behauptet von -Wand.

-Fehler
Wandelt alle Warnungen in Fehler um.

Einige davon haben keine Auswirkung beim Kompilieren von in Fortran geschriebenen Programmen.

Optionen für Debugging Ihre Programm or GNU Fortran
GNU Fortran hat verschiedene spezielle Optionen, die zum Debuggen Ihres Programms oder
der GNU Fortran-Compiler.

-fdump-fortran-original
Geben Sie den internen Parse-Baum aus, nachdem Sie das Quellprogramm in internes übersetzt haben
Darstellung. Nur wirklich nützlich, um den GNU Fortran-Compiler selbst zu debuggen.

-fdump-fortran-optimiert
Geben Sie den Parse-Baum nach der Front-End-Optimierung aus. Nur wirklich nützlich zum Debuggen
der GNU Fortran-Compiler selbst.

-fdump-parse-tree
Geben Sie den internen Parse-Baum aus, nachdem Sie das Quellprogramm in internes übersetzt haben
Darstellung. Nur wirklich nützlich, um den GNU Fortran-Compiler selbst zu debuggen.
Diese Option ist veraltet; verwenden Sie stattdessen "-fdump-fortran-original".

-ffpe-trap=Liste
Geben Sie eine Liste der zu aktivierenden Gleitkomma-Ausnahmefallen an. Auf den meisten Systemen, wenn a
Gleitkommaausnahme auftritt und der Trap für diese Ausnahme aktiviert ist, ein SIGFPE
Signal wird gesendet und das Programm wird abgebrochen, wodurch eine Kerndatei erstellt wird, die nützlich ist für
Debuggen. Liste ist eine (möglicherweise leere) durch Kommas getrennte Liste der folgenden
Ausnahmen: ungültig (ungültige Gleitkommaoperation, wie "SQRT(-1.0)"), Null
(Durch Null teilen), Überlauf (Überlauf bei einer Gleitkommaoperation), Unterlauf
(Unterlauf in einer Gleitkommaoperation), falsch (Präzisionsverlust während
Betrieb) und denormal (Operation mit einem denormalen Wert durchgeführt). Die ersten fünf
Ausnahmen entsprechen den fünf IEEE 754-Ausnahmen, während die letzte (denormal)
ist nicht Teil des IEEE 754-Standards, aber auf einigen gängigen Architekturen verfügbar
wie x86.

Die ersten drei Ausnahmen (ungültig, Null und Überlauf) weisen oft auf schwerwiegende hin
Fehler, und es sei denn, das Programm hat Vorkehrungen für den Umgang mit diesen Ausnahmen getroffen,
Das Aktivieren von Traps für diese drei Ausnahmen ist wahrscheinlich eine gute Idee.

Viele, wenn nicht die meisten Gleitkommaoperationen führen aufgrund von Rundungen zu einem Genauigkeitsverlust,
und daher ist "ffpe-trap=inexact" in der Praxis wahrscheinlich uninteressant.

Standardmäßig sind keine Ausnahme-Traps aktiviert.

-ffpe-Zusammenfassung=Liste
Geben Sie eine Liste von Gleitkomma-Ausnahmen an, deren Flag-Status auf gedruckt wird
"ERROR_UNIT" beim Aufruf von "STOP" und "ERROR STOP". Liste Kann beides sein keine, alle oder eine
durch Kommas getrennte Liste der folgenden Ausnahmen: ungültig, Null, Überlauf, Unterlauf,
falsch und denormal. (Siehe -ffpe-Falle für eine Beschreibung der Ausnahmen.)

Standardmäßig eine Zusammenfassung für alle Ausnahmen, aber falsch wird gezeigt.

-fno-backtrace
Wenn ein schwerwiegender Laufzeitfehler auftritt oder ein tödliches Signal ausgegeben wird
(Segmentierungsfehler, unzulässiger Befehl, Busfehler, Gleitkommaausnahme und die
andere POSIX-Signale, die die Aktion haben Core), versucht die Fortran-Laufzeitbibliothek
eine Rückverfolgung des Fehlers ausgeben. "-fno-backtrace" deaktiviert die Backtrace-Generierung.
Diese Option hat nur Einfluss auf die Kompilierung des Fortran-Hauptprogramms.

Optionen für Verzeichnis search
Diese Optionen beeinflussen, wie GNU Fortran nach Dateien sucht, die durch "INCLUDE" angegeben werden.
-Direktive und sucht dort nach zuvor kompilierten Modulen.

Es wirkt sich auch auf die Suchpfade aus, die von . verwendet werden cpp wenn sie zur Vorverarbeitung von Fortran-Quellen verwendet werden.

-Idir
Diese betreffen die Interpretation der Direktive "INCLUDE" (sowie der "#include"
Richtlinie der cpp Präprozessor).

Beachten Sie auch, dass das allgemeine Verhalten von -I und "INCLUDE" ist so ziemlich das gleiche wie von
-I mit "#include" im cpp Präprozessor, in Bezug auf die Suche nach header.gcc
Dateien und ähnliches.

Dieser Pfad wird auch verwendet, um nach zu suchen .mod Dateien, wenn zuvor kompilierte Module
durch eine "USE"-Anweisung erforderlich.

-Jdir
Diese Option gibt an, wo abgelegt werden soll .mod Dateien für kompilierte Module. Es wird auch hinzugefügt
in die Liste der Verzeichnisse, die mit einer "USE"-Anweisung durchsucht werden sollen.

Der Standardwert ist das aktuelle Verzeichnis.

-fintrinsische-Module-Pfad dir
Diese Option gibt den Speicherort vorkompilierter intrinsischer Module an, falls dies nicht der Fall ist
am vom Compiler erwarteten Standardspeicherort.

Einfluss nehmen Linking Step
Diese Optionen kommen ins Spiel, wenn der Compiler Objektdateien mit einer ausführbaren Datei verknüpft
Ausgabedatei. Sie sind bedeutungslos, wenn der Compiler keinen Linkschritt ausführt.

-static-libgfortran
Auf Systemen, die libgfortran als gemeinsam genutzte und statische Bibliothek ist diese Option
erzwingt die Verwendung der statischen Version. Wenn keine freigegebene Version von libgfortran erbaut wurde
Wenn der Compiler konfiguriert wurde, hat diese Option keine Auswirkung.

Einfluss nehmen Laufzeit Verhalten
Diese Optionen beeinflussen das Laufzeitverhalten von Programmen, die mit GNU Fortran kompiliert wurden.

-fconvert=Umwandlung
Geben Sie die Darstellung von Daten für unformatierte Dateien an. Gültige Werte für die Konvertierung
sind: nativen, der Standard; tauschen, Wechsel zwischen Big- und Little-Endian; Big-Endian, benutzen Sie
Big-Endian-Darstellung für unformatierte Dateien; Little-Endian, benutze Little-Endian
Darstellung für unformatierte Dateien.

Dieser zu erhalten hat an bewirken einzige wann benutzt in Haupt- Das "KONVERTIEREN" Bezeichner
und GFORTRAN_CONVERT_UNIT Umwelt Variable Override Standard angegeben by
-fkonvertieren.

-frecord-marker=Länge
Geben Sie die Länge der Datensatzmarkierungen für unformatierte Dateien an. Gültige Werte für Länge
sind 4 und 8. Standard ist 4. Dieser is anders für früher Versionen of Gfortran,
die auf den meisten Systemen eine standardmäßige Datensatzmarkierungslänge von 8 angab. Wenn du möchtest
Lesen oder Schreiben von Dateien, die mit früheren Versionen von kompatibel sind Gfortran, benutzen Sie
-frecord-marker=8.

-fmax-Untersatzlänge=Länge
Geben Sie die maximale Länge für einen Unterdatensatz an. Der maximal zulässige Wert für die Länge ist
2147483639, was auch die Standardeinstellung ist. Nur wirklich nützlich für die Verwendung durch den gfortran
Testsuite.

-fsign-null
Wenn aktiviert, werden Gleitkommazahlen mit dem Wert Null mit gesetztem Vorzeichenbit geschrieben
als negative Zahl in formatierter Ausgabe und als negativ im "SIGN" behandelt
intrinsisch. -fno-sign-null druckt nicht das negative Vorzeichen von Nullwerten (oder Werten
auf Null gerundet für I/O) und betrachtet Null als positive Zahl im "SIGN"-Intrinsic
für die Kompatibilität mit Fortran 77. Die Standardeinstellung ist -fsign-null.

Optionen für Code Generation Conventions
Diese maschinenunabhängigen Optionen steuern die im Code verwendeten Schnittstellenkonventionen
Generation.

Die meisten von ihnen haben sowohl positive als auch negative Formen; die Negativform von -ffoo wäre
-fno-foo. In der folgenden Tabelle ist nur eines der Formulare aufgeführt – dasjenige, das nicht das ist
Ursprünglich. Sie können das andere Formular herausfinden, indem Sie entweder entfernen Nein- oder hinzufügen.

-fno-automatisch
Behandeln Sie jede Programmeinheit (außer den als REKURSIV gekennzeichneten) so, als ob die "SAVE"-Anweisung
wurden für jede lokale Variable und jedes darin referenzierte Array angegeben. Betrifft nicht
gemeinsame Blöcke. (Einige Fortran-Compiler bieten diese Option unter dem Namen -statisch or
-speichern.) Der Standardwert ist -fautomatisch, verwendet den Stack für lokale Variablen kleiner
als der Wert von -fmax-stack-var-größe. Nutze die Option -frekursiv nein verwenden
statisches Gedächtnis.

-ff2c
Generieren Sie Code, der mit Code kompatibel ist, der von . generiert wurde g77 und f2c.

Die von . verwendeten Aufrufkonventionen g77 (ursprünglich implementiert in f2c) benötigen Funktionen
dass der Standardtyp "REAL" zurückgegeben wird, um tatsächlich den C-Typ "double" und Funktionen zurückzugeben
dass der Rückgabetyp "COMPLEX" ist, um die Werte über ein zusätzliches Argument im Aufruf zurückzugeben
Sequenz, die darauf verweist, wo der Rückgabewert gespeichert werden soll. Unter dem Standard-GNU
Aufrufkonventionen geben solche Funktionen einfach ihre Ergebnisse zurück, wie sie es in GNU . tun würden
C---Standardfunktionen "REAL" geben den C-Typ "float" zurück und "COMPLEX"-Funktionen geben zurück
der GNU-C-Typ "komplex". Darüber hinaus impliziert diese Option die -fSekunden-Unterstrich
Option, es sei denn -fno-zweiter-Unterstrich ist ausdrücklich erwünscht.

Dies hat keinen Einfluss auf die Generierung von Code, der mit dem libgfortran
Bibliothek.

Vorsicht: Es ist keine gute Idee, kompilierten Fortran-Code mit zu mischen -ff2c mit Code
kompiliert mit der Standardeinstellung -fno-f2c Aufrufkonventionen wie, Aufruf von "KOMPLEX" oder
Standard "REAL"-Funktionen zwischen Programmteilen, die mit unterschiedlichen . kompiliert wurden
Aufrufkonventionen werden zur Ausführungszeit gebrochen.

Vorsicht: Dadurch wird Code unterbrochen, der intrinsische Funktionen des Typs Standard "REAL" übergibt.
oder "COMPLEX" als tatsächliche Argumente, da die Bibliotheksimplementierungen die -fno-f2c
Konventionen aufrufen.

-fno-Unterstreichung
Transformieren Sie die Namen von Entitäten, die in der Fortran-Quelldatei angegeben sind, nicht durch Anhängen
unterstreicht sie.

Mit der -Funderscoring Tatsächlich hängt GNU Fortran einen Unterstrich an externe Namen an
ohne Unterstriche. Dies geschieht, um die Kompatibilität mit Code sicherzustellen, der von vielen erstellt wurde
UNIX Fortran-Compiler.

Vorsicht: Das Standardverhalten von GNU Fortran ist nicht kompatibel mit f2c und g77, Bitte
verwenden Sie die -ff2c Option, wenn Sie möchten, dass mit GNU Fortran kompilierte Objektdateien
kompatibel mit Objektcode, der mit diesen Tools erstellt wurde.

Gebrauch von -fno-Unterstreichung wird nicht empfohlen, es sei denn, Sie experimentieren mit Problemen
Integration von GNU Fortran in bestehende Systemumgebungen (vis-a-vis
vorhandene Bibliotheken, Tools usw.).

Zum Beispiel mit -Funderscoring, und unter der Annahme, dass "j()" und "max_count()" . sind
externe Funktionen, während "my_var" und "lvar" lokale Variablen sind, eine Anweisung wie

I = J() + MAX_COUNT (MY_VAR, LVAR)

wird wie folgt implementiert:

i = j_() + max_count__(&my_var__, &lvar);

Mit der -fno-Unterstreichung, dieselbe Anweisung wird implementiert als:

i = j() + max_count(&my_var, &lvar);

Gebrauch von -fno-Unterstreichung ermöglicht die direkte Angabe von benutzerdefinierten Namen während
beim Debuggen und beim Verbinden von GNU Fortran-Code mit anderen Sprachen.

Beachten Sie, dass nur weil die Namen übereinstimmen, nicht bedeuten, dass die von . implementierte Schnittstelle
GNU Fortran für einen externen Namen stimmt mit der von anderen implementierten Schnittstelle überein
Sprache für denselben Namen. Das heißt, von GNU Fortran produzierten Code zum Verlinken zu erhalten
Code, der von einem anderen Compiler mit dieser oder einer anderen Methode erstellt wurde, kann nur a
kleiner Teil der Gesamtlösung --- den von beiden Compilern generierten Code zu bekommen
sich auf andere Themen als die Benennung zu einigen, kann erhebliche Anstrengungen erfordern und im Gegensatz zur Benennung
Meinungsverschiedenheiten können Linker normalerweise keine Meinungsverschiedenheiten in diesen anderen Bereichen erkennen.

Beachten Sie auch, dass mit -fno-Unterstreichung, das Fehlen angehängter Unterstriche führt zu
die sehr reale Möglichkeit, dass ein benutzerdefinierter externer Name mit einem Namen kollidiert
in einer Systembibliothek, was das Auffinden ungelöster Referenzfehler ziemlich erschweren könnte
in einigen Fällen schwierig --- sie können zur Programmlaufzeit auftreten und nur als
fehlerhaftes Verhalten zur Laufzeit.

In zukünftigen Versionen von GNU Fortran hoffen wir, Namens- und Verknüpfungsprobleme zu verbessern, damit
Beim Debuggen werden immer die Namen verwendet, wie sie in der Quelle erscheinen, auch wenn die
Namen, wie sie vom Linker gesehen werden, werden verstümmelt, um eine versehentliche Verknüpfung zwischen zu verhindern
Prozeduren mit inkompatiblen Schnittstellen.

-fSekunden-Unterstrich
Standardmäßig hängt GNU Fortran einen Unterstrich an externe Namen an. Wenn diese Option ist
verwendet GNU Fortran hängt zwei Unterstriche an Namen mit Unterstrichen und einem Unterstrich an
zu externen Namen ohne Unterstriche. GNU Fortran hängt auch zwei Unterstriche an
interne Namen mit Unterstrichen, um Namenskollisionen mit externen Namen zu vermeiden.

Diese Option hat keine Auswirkung, wenn -fno-Unterstreichung ist in Kraft. Es wird durch die
-ff2c .

Andernfalls wird bei dieser Option ein externer Name wie "MAX_COUNT" als a . implementiert
Verweis auf das externe Link-Time-Symbol "max_count__", anstelle von "max_count_".
Dies ist für die Kompatibilität mit . erforderlich g77 und f2c, und wird durch die Verwendung des
-ff2c .

-fcoarray=
keine
Coarray-Unterstützung deaktivieren; Verwendung von Coarray-Deklarationen und Image-Control-Anweisungen
wird einen Kompilierzeitfehler erzeugen. (Standard)

Single
Einzelbildmodus, dh "num_images()" ist immer eins.

lib Bibliotheksbasierte Coarray-Parallelisierung; eine geeignete GNU Fortran Coarray-Bibliothek
muss verknüpft werden.

-fcheck=
Aktivieren Sie die Generierung von Laufzeitprüfungen; das Argument muss eine durch Kommas getrennte Liste sein
der folgenden Schlüsselwörter.

alle Alle Laufzeittests von . aktivieren -fcheck.

Array-Temps
Warnt zur Laufzeit, wenn zum Übergeben eines tatsächlichen Arguments ein temporäres Array sein musste
erzeugt. Die durch diese Warnung generierten Informationen sind manchmal nützlich in
Optimierung, um solche Provisorien zu vermeiden.

Hinweis: Die Warnung wird nur einmal pro Standort gedruckt.

Beschränkt
Aktivieren Sie die Generierung von Laufzeitprüfungen für Array-Indizes und gegen die deklarierten
Minimal- und Maximalwerte. Es überprüft auch Array-Indizes auf angenommene und verzögerte
formt Arrays gegen die tatsächlich zugewiesenen Grenzen und stellt sicher, dass alle Zeichenfolgen
Die Längen sind für Zeichenarray-Konstruktoren ohne explizite Typspezifikation gleich.

Einige Überprüfungen erfordern das -fcheck=Grenzen ist für die Kompilierung des Mains eingestellt


Hinweis: Dies kann in Zukunft auch andere Formen der Prüfung umfassen, z. B. Prüfung
Teilstring-Referenzen.

do Generierung von Laufzeitprüfungen für ungültige Änderung der Schleifeniteration aktivieren
Variablen.

Mitglied Aktivieren Sie die Generierung von Laufzeitprüfungen für die Speicherzuweisung. Hinweis: Diese Option
wirkt sich nicht auf explizite Zuweisungen mit der Anweisung "ALLOCATE" aus, die
immer überprüft.

Zeiger
Aktivieren Sie die Generierung von Laufzeitprüfungen für Zeiger und zuordenbare Elemente.

Rekursion
Generierung von Laufzeitprüfungen für rekursiv aufgerufene Unterprogramme aktivieren und
Funktionen, die nicht als rekursiv gekennzeichnet sind. Siehe auch -frekursiv. Hinweis: Dies
check funktioniert nicht für OpenMP-Programme und ist deaktiviert, wenn sie zusammen mit verwendet werden
-frekursiv und -fopenmp.

-fbounds-check
Veralteter Alias ​​für -fcheck=Grenzen.

-fcheck-array-temporarys
Veralteter Alias ​​für -fcheck=Array-Temps.

-fmax-Array-Konstruktor=n
Diese Option kann verwendet werden, um die in Array-Konstruktoren zulässige Obergrenze zu erhöhen.
Der folgende Code erfordert diese Option, um das Array zur Kompilierzeit zu erweitern.

Programmtest
implizit keine
ganze Zahl j
Ganzzahl, Parameter :: n = 100000
Ganzzahl, Parameter :: i(n) = (/ (2*j, j = 1, n) /)
drucke '(10(I0,1X))', i
Programmtest beenden

Vorsicht: Dieser zu erhalten kann führen zu lange kompilieren mal und übermäßig grosse Objekt
Dateien.

Der Standardwert für n ist 65535.

-fmax-stack-var-size=n
Diese Option gibt die Größe in Bytes des größten Arrays an, das auf dem
Stapel; wenn die Größe überschritten wird, wird statischer Speicher verwendet (außer in Prozeduren, die als . gekennzeichnet sind).
REKURSIV). Nutze die Option -frekursiv um rekursive Verfahren zu ermöglichen, die nicht
ein RECURSIVE-Attribut haben oder für parallele Programme. Verwenden -fno-automatisch nie benutzen
den Stack.

Diese Option betrifft derzeit nur lokale Arrays, die mit konstanten Grenzen deklariert sind, und kann
gilt nicht für alle Zeichenvariablen. Zukünftige Versionen von GNU Fortran können dies verbessern
Verhalten.

Der Standardwert für n ist 32768.

-fstack-Arrays
Wenn Sie diese Option hinzufügen, legt der Fortran-Compiler alle lokalen Arrays ab, auch die von
unbekannte Größe auf Stack-Speicher. Wenn Ihr Programm sehr große lokale Arrays verwendet, ist dies der Fall
Es ist möglich, dass Sie Ihre Laufzeitlimits für den Stack-Speicher auf einigen . erweitern müssen
Betriebssysteme. Dieses Flag ist standardmäßig auf der Optimierungsebene aktiviert -Ofast.

-fpack-abgeleitet
Diese Option weist GNU Fortran an, abgeleitete Typmember so eng wie möglich zu packen.
Code, der mit dieser Option kompiliert wurde, ist wahrscheinlich nicht kompatibel mit Code, der ohne kompiliert wurde
diese Option und kann langsamer ausgeführt werden.

-frepack-Arrays
Unter bestimmten Umständen kann GNU Fortran Array-Abschnitte mit angenommener Form über a
Deskriptor, der einen nicht zusammenhängenden Speicherbereich beschreibt. Diese Option fügt dem Code Code hinzu
Funktionsprolog, um die Daten zur Laufzeit in einen zusammenhängenden Block umzupacken.

Dies sollte zu schnelleren Zugriffen auf das Array führen. Es kann jedoch einführen
erheblicher Overhead für den Funktionsaufruf, insbesondere wenn die übergebenen Daten
nicht zusammenhängend.

-fshort-enums
Diese Option wird für die Interoperabilität mit C-Code bereitgestellt, der mit dem
-fshort-enums Möglichkeit. Es wird GNU Fortran veranlassen, die kleinste "INTEGER" -Art zu wählen a
Der angegebene Enumerator-Satz passt hinein und gibt allen seinen Enumeratoren diese Art.

-fextern-blas
Diese Option macht Gfortran Generieren Sie Aufrufe von BLAS-Funktionen für einige Matrix
Operationen wie "MATMUL", anstatt unsere eigenen Algorithmen zu verwenden, wenn die Größe der
beteiligten Matrizen ist größer als ein vorgegebener Grenzwert (siehe -fblas-matmul-limit). Das mag sein
rentabel, wenn eine optimierte BLAS-Bibliothek des Anbieters verfügbar ist. Die BLAS-Bibliothek wird
müssen zur Linkzeit angegeben werden.

-fblas-matmul-limit=n
Nur signifikant, wenn -fextern-blas ist in Kraft. Matrixmultiplikation von Matrizen
mit Größe größer als (oder gleich) n wird durch Aufrufe von BLAS-Funktionen ausgeführt,
während andere behandelt werden von Gfortran interne Algorithmen. Wenn die Matrizen beteiligt sind
nicht quadratisch sind, erfolgt der Größenvergleich mit dem geometrischen Mittel der
Dimensionen der Argument- und Ergebnismatrizen.

Der Standardwert für n ist 30.

-frekursiv
Erlauben Sie indirekte Rekursion, indem Sie erzwingen, dass alle lokalen Arrays auf dem Stack zugewiesen werden.
Dieses Flag kann nicht zusammen mit verwendet werden -fmax-stack-var-size= or -fno-automatisch.

-finit-local-null
-finit-integer=n
-finit-real=
-finit-logisch=
-finit-Zeichen=n
Das -finit-local-null Option weist den Compiler an, das lokale "INTEGER" zu initialisieren,
"REAL"- und "COMPLEX"-Variablen auf null, "LOGICAL"-Variablen auf false und "CHARACTER"
Variablen in eine Zeichenfolge von Null-Bytes. Feinere Initialisierungsoptionen sind
von der -finit-integer=n, -finit-real= (was auch
initialisiert Real- und Imaginärteil lokaler "COMPLEX"-Variablen),
-finit-logisch= und -finit-Zeichen=n (woher n ist ein ASCII-Zeichen
Wert) Optionen. Diese Optionen werden nicht initialisiert

* zuweisbare Arrays

* Komponenten abgeleiteter Typvariablen

* Variablen, die in einer "EQUIVALENCE"-Anweisung vorkommen.

(Diese Einschränkungen können in zukünftigen Versionen entfernt werden).

Beachten Sie, dass die -finit-real=nan Option initialisiert "REAL" und "COMPLEX" Variablen mit a
ruhig NaN. Für eine signalisierende NaN verwenden Sie -finit-real=snan; Beachten Sie jedoch, dass die Kompilierungszeit
Optimierungen können sie in leises NaN umwandeln und das Einfangen muss aktiviert werden
(zB über -ffpe-Falle).

Beachten Sie abschließend, dass das Aktivieren einer der -endlich-* Optionen werden Warnungen stummschalten, die
wäre emittiert worden von -Wuninitialisiert für die betroffenen lokalen Variablen.

-falign-Commons
Standardmäßig Gfortran erzwingt die korrekte Ausrichtung aller Variablen in einem "COMMON"-Block durch
polstern sie nach Bedarf. Auf bestimmten Plattformen ist dies obligatorisch, auf anderen erhöht es sich
Leistung. Wenn ein "COMMON"-Block nicht mit konsistenten Datentypen deklariert ist
Überall kann diese Polsterung Ärger machen, und -fno-align-commons kann benutzt werden um
Deaktivieren Sie die automatische Ausrichtung. Die gleiche Form dieser Option sollte für alle Dateien verwendet werden
die sich einen "COMMON"-Block teilen. Um potenzielle Ausrichtungsprobleme in "COMMON"-Blöcken zu vermeiden,
Es wird empfohlen, die Objekte vom größten zum kleinsten zu bestellen.

-fno-protect-parens
Standardmäßig werden die Klammern im Ausdruck für alle Optimierungsstufen berücksichtigt, wie z
dass der Compiler keine Re-Assoziation durchführt. Verwenden von -fno-protect-parens ermöglicht es dem
Compiler, um "REAL"- und "COMPLEX"-Ausdrücke neu anzuordnen, um schnelleren Code zu erzeugen. Beachten Sie, dass
für die Reassoziationsoptimierung -fno-signed-nulls und -fno-trapping-mathe müssen
in Kraft sein. Der Klammerschutz ist standardmäßig aktiviert, es sei denn -Ofast is
gegeben.

-frealloc-lhs
Eine zuordenbare linke Seite einer intrinsischen Zuordnung wird automatisch
(erneut) zugeordnet, wenn es entweder nicht zugeordnet ist oder eine andere Form hat. Die Option ist
standardmäßig aktiviert, außer wenn -std=f95 gegeben ist. Siehe auch -Wrealloc-links.

-faggressive-Funktions-Beseitigung
Funktionen mit identischen Argumentlisten werden unabhängig davon innerhalb von Anweisungen eliminiert
ob diese Funktionen mit "PURE" gekennzeichnet sind oder nicht. Zum Beispiel in

a = f(b,c) + f(b,c)

es wird nur ein einziger Aufruf von "f" erfolgen. Diese Option funktioniert nur, wenn
-ffrontend-optimieren ist in Kraft.

-ffrontend-optimieren
Diese Option führt eine Front-End-Optimierung durch, basierend auf der Manipulation von Teilen der Fortran
Baum analysieren. Standardmäßig von allen aktiviert -O Möglichkeit. Dadurch werden Optimierungen ermöglicht
Option beinhaltet die Eliminierung identischer Funktionsaufrufe innerhalb von Ausdrücken, das Entfernen
unnötige Aufrufe von "TRIM" in Vergleichen und Zuweisungen und Ersetzen von TRIM(a) durch
"a(1:LEN_TRIM(a))". Die Auswahl kann durch Angabe von . aufgehoben werden -fno-frontend-optimieren.


Das Gfortran Compiler verwendet derzeit keine Umgebungsvariablen zur Steuerung
seinen Betrieb über diejenigen hinaus, die den Betrieb von gcc.

Verwenden Sie mips-linux-gnu-gfortran online mit den onworks.net-Diensten


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad