EngelsFransDuitsItaliaansPortugeesRussianSpaans

OnWorks-favicon

mips64-linux-gnuabi64-gfortran - Online in de cloud

Voer mips64-linux-gnuabi64-gfortran uit in OnWorks gratis hostingprovider via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht mips64-linux-gnuabi64-gfortran die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


gfortran - GNU Fortran-compiler

KORTE INHOUD


gfortran [-c|-S|-E]
[-g] [-pg] [-Oniveau]
[-Wwaarschuwen...] [-pedant]
[-Idir...] [-Ldir
[-Dmacro[=defn]...] [-Umacro]
[-foptie
[-mmachine-optie
[-o outfile] in bestand...

Alleen de meest bruikbare opties worden hier vermeld; zie hieronder voor de rest.

BESCHRIJVING


Het gfortran commando ondersteunt alle opties die worden ondersteund door de gcc opdracht. Alleen opties
specifiek voor GNU Fortran zijn hier gedocumenteerd.

Alle GCC- en GNU Fortran-opties worden zowel geaccepteerd door: gfortran en bij gcc (evenals elke
andere stuurprogramma's die tegelijkertijd zijn gebouwd, zoals: g ++), sinds het toevoegen van GNU Fortran aan de GCC
distributie maakt acceptatie van GNU Fortran-opties door alle relevante stuurprogramma's mogelijk.

In sommige gevallen hebben opties positieve en negatieve vormen; de negatieve vorm van -foei zou
be -fno-foo. Deze handleiding documenteert slechts één van deze twee formulieren, welke niet de
standaard.

OPTIES


Hier is een samenvatting van alle opties die specifiek zijn voor GNU Fortran, gegroepeerd op type.
Uitleg vindt u in de volgende secties.

Fortran Taal Opties
-herfst-intrinsiek -fbackslash -fcray-pointer -fd-lijnen-als-code -fd-regels-als-opmerkingen
-fdefault-double-8 -fdefault-geheel getal-8 -fdefault-real-8 -fdollar-oké
-ffixed-line-length-n -ffixed-line-length-geen -ffree-vorm -ffree-line-length-n
-ffree-line-length-geen -fimpliciet-geen -finteger-4-integer-8 -fmax-identifier-lengte
-fmodule-privé -ffixed-vorm -fno-bereik-controle -fopenacc -fopenmp -vrij-4-echt-10
-vrij-4-echt-16 -vrij-4-echt-8 -vrij-8-echt-10 -vrij-8-echt-16 -vrij-8-echt-4
-std=soa

Voorverwerking Opties
-A-vraag[=beantwoorden] -Avraag=beantwoorden -C -CC -Dmacro[=defn] -H -P -Umacro -cpp -dD
-dI -dM -dN -dU -fworking-directory -imultilib dir -iprefix filet -ikquote -isysroot dir
-isysteem dir -nocpp -nostdinc -undef

Fout en waarschuwing Opties
-Waliasen -Muur -Wampersand -Warray-grenzen -Wc-bindingstype -Wkarakter-afknotting
-Wconversie -Wfunctie-eliminatie -Wimplicit-interface -Wimplicit-procedure
-Wintrinsieke-schaduw -Wuse-zonder-alleen -Wintrinsics-std -Wline-afbreking
-Wno-align-commons -Wno-tabbladen -Wreal-q-constante -Verrassend -Wonderstroom
-Wunused-parameter -Wrealloc-lhs -Wrealloc-lhs-all -Wtarget-levensduur -fmax-fouten=n
-fsyntax-only -pedant -pedant-fouten

Debugging Opties
-fbacktrace -fdump-fortran-geoptimaliseerd -fdump-fortran-origineel -fdump-ontleden-boom
-ffpe-trap=lijst -ffpe-samenvatting=lijst

directory Opties
-Idir -Jdir -fintrinsieke-modules-pad dir

Link Opties
-static-libgfortran

Runtime Opties
-fconvert=Conversie -fmax-subrecord-lengte=lengte -frecord-marker=lengte -fsign-nul

Code Generatie Opties
-fagressieve-functie-eliminatie -fblas-matmul-limit=n -fbounds-check
-fcheck-array-tijdelijk -fcheck=
-fcoarray= -fexternal-blas -ff2c -ffrontend-optimaliseren
-finit-karakter=n -eindig-geheel getal=n -finit-local-nul -finit-logisch=
-finit-real= -fmax-array-constructor=n -fmax-stack-var-size=n
-fno-align-commons -fno-automatisch -fno-protect-parens -fno-onderstreping
-fseconde-underscore -fpack-afgeleid -frealloc-lhs -frecursief -frepack-arrays
-fkorte-enums -fstack-arrays

Opties het regelen van Fortran tongval
De volgende opties bepalen de details van het Fortran-dialect dat door de compiler wordt geaccepteerd:

-ffree-vorm
-ffixed-vorm
Geef de lay-out op die door het bronbestand wordt gebruikt. De vrije vorm lay-out werd geïntroduceerd in
Fortran 90. Vaste vorm werd traditioneel gebruikt in oudere Fortran-programma's. Wanneer
geen van beide opties is opgegeven, de bronvorm wordt bepaald door de bestandsextensie.

-herfst-intrinsiek
Deze optie zorgt ervoor dat alle intrinsieke procedures (inclusief de GNU-specifieke extensies)
wordt geaccepteerd. Dit kan handig zijn bij: -std=f95 normconformiteit afdwingen maar krijgen
toegang tot het volledige scala aan intrinsieke producten die beschikbaar zijn met gfortran. Als gevolg hiervan
-Wintrinsics-std wordt genegeerd en er is geen door de gebruiker gedefinieerde procedure met dezelfde naam als
elke intrinsieke wordt aangeroepen, behalve wanneer deze expliciet "EXTERN" wordt verklaard.

-fd-lijnen-als-code
-fd-regels-als-opmerkingen
Schakel speciale behandeling in voor regels die beginnen met "d" of "D" in bronnen met vaste vorm.
Indien de -fd-lijnen-als-code optie wordt gegeven, worden ze behandeld alsof de eerste kolom
een blanco bevatte. Als de -fd-regels-als-opmerkingen optie wordt gegeven, worden ze behandeld als
commentaar regels.

-fdollar-oké
Allow $ als een geldig niet-eerste teken in een symboolnaam. Symbolen die beginnen met $ krijgen
afgewezen omdat het onduidelijk is welke regels van toepassing zijn op impliciet typen als verschillend
leveranciers hanteren verschillende regels. Gebruik makend van $ in "IMPLICIETE" verklaringen wordt ook afgewezen.

-fbackslash
De interpretatie van backslashes in letterlijke tekenreeksen wijzigen van een enkele backslash
karakter naar "C-stijl" escape-tekens. De volgende combinaties zijn uitgebreid:
"\a", "\b", "\f", "\n", "\r", "\t", "\v", "\\" en "\0" naar de ASCII-tekens
alert, backspace, formulierfeed, nieuwe regel, regelterugloop, horizontale tab, verticale tab,
backslash en NUL, respectievelijk. Bovendien, "\x"nn, "\u"nnnn en jij"nnnnnnnn
(waar elk n is een hexadecimaal cijfer) worden vertaald in de Unicode-tekens
overeenkomend met de gespecificeerde codepunten. Alle andere combinaties van een teken
voorafgegaan door \ zijn niet uitgevouwen.

-fmodule-privé
Stel de standaard toegankelijkheid van module-entiteiten in op "PRIVATE". Gebruiksgebonden
entiteiten zullen niet toegankelijk zijn tenzij ze expliciet als "OPENBAAR" worden verklaard.

-ffixed-line-length-n
Stel kolom in waarna tekens worden genegeerd in typische regels met een vaste vorm in de
bronbestand, en waardoor spaties worden aangenomen (alsof opgevuld tot die lengte) na
de uiteinden van korte lijnen met een vaste vorm.

Populaire waarden voor n omvatten 72 (de standaard en de standaard), 80 (kaartafbeelding), en
132 (overeenkomend met "extended-source" opties in sommige populaire compilers). n mogen
ook zijn geen, wat betekent dat de hele regel betekenisvol is en dat doorlopende karakter
constanten hebben nooit impliciete spaties die eraan zijn toegevoegd om de regel in te vullen.
-ffixed-line-length-0 betekent hetzelfde als -ffixed-line-length-geen.

-ffree-line-length-n
Kolom instellen waarna tekens worden genegeerd in typische vrije-vormregels in de bron
het dossier. De standaardwaarde is 132. n kan zijn geen, wat betekent dat de hele regel is
zinvol. -ffree-lijn-lengte-0 betekent hetzelfde als -ffree-line-length-geen.

-fmax-identifier-length=n
Geef de maximaal toegestane ID-lengte op. Typische waarden zijn 31 (Fortran 95) en
63 (Fortran 2003 en Fortran 2008).

-fimpliciet-geen
Geef aan dat impliciet typen niet is toegestaan, tenzij dit wordt overschreven door expliciete "IMPLICIT"
verklaringen. Dit is het equivalent van het toevoegen van "impliciet geen" aan het begin van elke
procedure.

-fcray-pointer
Schakel de Cray-aanwijzerextensie in, die C-achtige aanwijzerfunctionaliteit biedt.

-fopenacc
Schakel de OpenACC-extensies in. Dit omvat OpenACC "!$acc"-richtlijnen in vrije vorm
en "c$acc", *$acc en "!$acc" richtlijnen in vaste vorm, "!$" voorwaardelijke compilatie
schildwachten in vrije vorm en "c$", "*$" en "!$" schildwachten in vaste vorm, en wanneer
koppelen zorgt ervoor dat de OpenACC runtime-bibliotheek wordt gekoppeld.

Merk op dat dit een experimentele functie is, onvolledig en onderhevig aan wijzigingen in de toekomst
versies van GCC. Zienhttps://gcc.gnu.org/wiki/OpenACC> voor meer informatie.

-fopenmp
Schakel de OpenMP-extensies in. Dit omvat OpenMP "!$omp"-richtlijnen in vrije vorm
en "c$omp", *$omp en "!$omp" richtlijnen in vaste vorm, "!$" voorwaardelijke compilatie
schildwachten in vrije vorm en "c$", "*$" en "!$" schildwachten in vaste vorm, en wanneer
koppelen zorgt ervoor dat de OpenMP runtime-bibliotheek wordt gekoppeld. De optie -fopenmp
impliceert -frecursief.

-fno-bereik-controle
Schakel bereikcontrole uit op resultaten van vereenvoudiging van constante uitdrukkingen tijdens
compilatie. GNU Fortran zal bijvoorbeeld een foutmelding geven tijdens het compileren wanneer:
vereenvoudiging van "a = 1. / 0". Met deze optie wordt er geen foutmelding gegeven en zal "a" zijn
de waarde "+Oneindig" toegewezen. Als een expressie evalueert naar een waarde buiten de
relevant bereik van ["-HUGE()":"HUGE()"], dan wordt de uitdrukking vervangen door "-Inf"
of "+Inf" naargelang het geval. Evenzo zal "DATA i/Z'FFFFFFFF'/" resulteren in een geheel getal
overloop op de meeste systemen, maar met -fno-bereik-controle de waarde zal "omwikkelen" en
"i" wordt in plaats daarvan geïnitialiseerd op -1.

-fdefault-geheel getal-8
Stel de standaard integer en logische typen in op een 8 byte breed type. Deze optie ook
beïnvloedt het soort integer-constanten zoals 42. In tegenstelling tot -finteger-4-integer-8, het doet
variabelen niet promoten met een expliciete soortverklaring.

-fdefault-real-8
Stel het standaard echte type in op een 8 byte breed type. Deze optie heeft ook invloed op het soort
niet-dubbele echte constanten zoals 1.0, en bevordert de standaardbreedte van "DOUBLE
PRECISIE" tot 16 bytes indien mogelijk, tenzij ook "-fdefault-double-8" wordt gegeven.
-vrij-4-echt-8, het promoot geen variabelen met een expliciete soortverklaring.

-fdefault-double-8
Stel het type "DUBBELE PRECISIE" in op een 8 byte breed type. Niets doen als dit al is
de standaard. Indien -fdefault-real-8 wordt gegeven, zou "DUBBELE PRECISIE" in plaats daarvan zijn
gepromoveerd tot 16 bytes indien mogelijk, en -fdefault-double-8 kan worden gebruikt om dit te voorkomen.
Het soort echte constanten zoals "1.d0" wordt niet veranderd door -fdefault-real-8 hoewel,
zo ook -fdefault-double-8 heeft daar geen invloed op.

-finteger-4-integer-8
Promoot alle "INTEGER(KIND=4)" entiteiten tot een "INTEGER(KIND=8)" entiteit. Als "SOORT=8"
niet beschikbaar is, wordt er een foutmelding gegeven. Deze optie moet met zorg worden gebruikt
en is mogelijk niet geschikt voor uw codes. Mogelijke aandachtspunten zijn onder meer oproepen naar:
externe procedures, afstemming in "GELIJKHEID" en/of "GEMEENSCHAPPELIJK", generieke interfaces,
BOZ letterlijke constante conversie en I/O. Inspectie van het tussenproduct
weergave van de vertaalde Fortran-code, geproduceerd door -fdump-tree-origineelIs
suggereerde.

-vrij-4-echt-8
-vrij-4-echt-10
-vrij-4-echt-16
-vrij-8-echt-4
-vrij-8-echt-10
-vrij-8-echt-16
Promoot alle "REAL(KIND=M)" entiteiten naar "REAL(KIND=N)" entiteiten. Als "ECHT(KIND=N)" is
niet beschikbaar is, wordt er een foutmelding gegeven. Alle andere echte soorten zijn onaangetast
door deze optie. Deze opties moeten met zorg worden gebruikt en zijn mogelijk niet geschikt voor:
uw codes. Mogelijke aandachtspunten zijn oproepen naar externe procedures, afstemming
in "EQUIVALENCE" en/of "COMMON", generieke interfaces, BOZ letterlijke constante conversie,
en I/O. Inspectie van de tussenweergave van het vertaalde Fortran
code, geproduceerd door -fdump-tree-origineel, wordt gesuggereerd.

-std=soa
Specificeer de standaard waaraan het programma naar verwachting zal voldoen, wat een van de volgende kan zijn:
f95, f2003, f2008, gnoeof nalatenschap. De standaardwaarde voor soa is gnoe, die specificeert
een superset van de Fortran 95-standaard die alle extensies bevat die worden ondersteund door
GNU Fortran, hoewel waarschuwingen worden gegeven voor verouderde extensies die niet worden aanbevolen
voor gebruik in nieuwe code. De nalatenschap waarde is gelijk, maar zonder de waarschuwingen voor
verouderde extensies en kan handig zijn voor oude niet-standaardprogramma's. De f95, f2003
en f2008 waarden specificeren strikte conformiteit met de Fortran 95, Fortran 2003 en
Fortran 2008-normen, respectievelijk; fouten worden gegeven voor alle extensies buiten de
relevante taalstandaard, en er worden waarschuwingen gegeven voor de Fortran 77-functies die:
zijn toegestaan, maar verouderd in latere normen. -std=f2008ts staat de Fortran 2008 . toe
standaard inclusief de toevoegingen van de Technische Specificatie (TS) 29113 op Verdere
Interoperabiliteit van Fortran met C en TS 18508 op aanvullende parallelle functies in
Fortran.

Enable en aan te passen voorbewerking
Preprocessor-gerelateerde opties. Zie sectie Voorverwerking en voorwaardelijk compilatie heeft gewacht
meer gedetailleerde informatie over voorbewerking in gfortran.

-cpp
-nocpp
Voorbewerking inschakelen. De preprocessor wordt automatisch aangeroepen als de bestandsextensie
is .fpp, .FPP, .F, .VOOR, .FTN, .F90, .F95, .F03 or .F08. Gebruik deze optie om handmatig
voorbewerking van elk soort Fortran-bestand mogelijk maken.

Om de voorverwerking van bestanden met een van de hierboven vermelde extensies uit te schakelen, gebruikt u de
Negatieve vorm: -nocpp.

De preprocessor wordt uitgevoerd in de traditionele modus. Eventuele beperkingen van het bestandsformaat,
vooral de limieten op lijnlengte, gelden ook voor voorbewerkte uitvoer, dus het
is misschien aan te raden om de -ffree-line-length-geen or -ffixed-line-length-geen
opties.

-dM Genereer in plaats van de normale uitvoer een lijst met '#define'-richtlijnen voor alle
macro's gedefinieerd tijdens de uitvoering van de preprocessor, inclusief vooraf gedefinieerde macro's.
Dit geeft u een manier om erachter te komen wat vooraf is gedefinieerd in uw versie van de
voorverwerker. Ervan uitgaande dat je geen bestand hebt foo.f90, het bevel

raak foo.f90 aan; gfortran -cpp -E -dM foo.f90

toont alle vooraf gedefinieerde macro's.

-dD Like -dM behalve in twee opzichten: het bevat niet de vooraf gedefinieerde macro's, en het
geeft zowel de "#define"-richtlijnen als het resultaat van de voorbewerking weer. beide soorten
output ga naar het standaard outputbestand.

-dN Like -dD, maar zend alleen de macronamen uit, niet hun uitbreidingen.

-dU Like dD behalve dat alleen macro's die zijn uitgebreid of waarvan de definitie is getest in
preprocessor-richtlijnen worden uitgevoerd; de uitvoer wordt uitgesteld tot het gebruik of de test van
de macro; en '#undef'-richtlijnen worden ook uitgevoerd voor geteste maar niet gedefinieerde macro's op
de tijd.

-dI Voer '#include'-richtlijnen uit naast het resultaat van de voorbewerking.

-fworking-directory
Activeer het genereren van lijnmarkeringen in de preprocessor-uitvoer waardoor de compiler
ken de huidige werkdirectory op het moment van voorverwerking. Wanneer deze optie is
ingeschakeld, zal de preprocessor, na de eerste lijnmarkering, een tweede lijnmarkering uitzenden
met de huidige werkdirectory gevolgd door twee schuine strepen. GCC zal dit gebruiken
directory, wanneer het aanwezig is in de voorverwerkte invoer, als de directory uitgezonden als
de huidige werkdirectory in sommige informatieformaten voor foutopsporing. Deze optie is
impliciet ingeschakeld als foutopsporingsinformatie is ingeschakeld, maar dit kan worden voorkomen met
de ontkende vorm -fno-werkmap. Indien de -P vlag is aanwezig in de opdracht
line, heeft deze optie geen effect, aangezien er geen "#line" instructies worden uitgezonden.

-idirafter dir
Zoeken dir voor include-bestanden, maar doe het nadat alle mappen zijn opgegeven met -I en
de standaard systeemmappen zijn uitgeput. dir wordt behandeld als een systeem
map opnemen. Als dir begint met "=", wordt de "=" vervangen door de
sysroot-voorvoegsel; zien --sysroot en -isysroot.

-imultilib dir
Te gebruiken dir als een submap van de map die doelspecifieke C++-headers bevat.

-iprefix voorvoegsel
Specificeren voorvoegsel als voorvoegsel voor volgende -imetvoorvoegsel opties. Als de voorvoegsel
een map vertegenwoordigt, moet u de laatste '/' opnemen.

-isysroot dir
Deze optie is als de --sysroot optie, maar is alleen van toepassing op header-bestanden. Zie de
--sysroot optie voor meer informatie.

-ikquote dir
Zoeken dir alleen voor header-bestanden die zijn aangevraagd met "#include "file""; zij zijn niet
gezocht naar "#include ", voor alle mappen gespecificeerd door -I en voor de
standaard systeemmappen. Indien dir begint met "=", daarna wordt "=" vervangen door
het sysroot-voorvoegsel; zien --sysroot en -isysroot.

-isysteem dir
Zoeken dir voor header-bestanden, na alle mappen gespecificeerd door -I maar voor de
standaard systeemmappen. Markeer het als een systeemmap, zodat het hetzelfde wordt
speciale behandeling zoals wordt toegepast op de standaard systeemdirectory's. Indien dir begint met
"=", dan wordt de "=" vervangen door het sysroot-voorvoegsel; zien --sysroot en -isysroot.

-nostdinc
Zoek niet in de standaard systeemdirectory's naar headerbestanden. Alleen de mappen
je hebt opgegeven met -I opties (en de map van het huidige bestand, als
geschikt) worden doorzocht.

-undef
Definieer geen systeemspecifieke of GCC-specifieke macro's. De standaard voorgedefinieerde
macro's blijven gedefinieerd.

-Apredikaat=beantwoorden
Maak een bewering met het predikaat predikaat en antwoord beantwoorden. Dit formulier is
voorkeur boven de oudere vorm -A predikaat(antwoord), dat nog steeds wordt ondersteund, omdat het
gebruikt geen speciale shell-tekens.

-A-predikaat=beantwoorden
Annuleer een bewering met het predikaat predikaat en antwoord beantwoorden.

-C Gooi opmerkingen niet weg. Alle opmerkingen worden doorgegeven aan het uitvoerbestand, behalve:
voor opmerkingen in verwerkte richtlijnen, die samen met de richtlijn worden verwijderd.

U moet voorbereid zijn op bijwerkingen bij gebruik -C; het zorgt ervoor dat de preprocessor
behandel opmerkingen als op zichzelf staande tokens. Opmerkingen die bijvoorbeeld verschijnen op de
begin van wat een richtlijn zou zijn, heeft tot gevolg dat die regel verandert in een
gewone bronregel, aangezien de eerste token op de regel niet langer een '#' is.

Waarschuwing: dit behandelt momenteel alleen C-Style-opmerkingen. De preprocessor nog niet
Herken opmerkingen in Fortran-stijl.

-CC Gooi geen opmerkingen weg, ook niet tijdens macro-uitbreiding. Dit is zoals -C, behalve
dat opmerkingen in macro's ook worden doorgegeven aan het uitvoerbestand waar
de macro wordt uitgevouwen.

Naast de bijwerkingen van de -C optie, de -CC optie veroorzaakt alle C++-stijl
opmerkingen in een macro die moeten worden geconverteerd naar opmerkingen in C-stijl. Dit is om later te voorkomen
gebruik van die macro om onbedoeld commentaar te geven op de rest van de bronregel.
Het -CC optie wordt over het algemeen gebruikt om lint-opmerkingen te ondersteunen.

Waarschuwing: dit behandelt momenteel alleen C- en C++-stijl opmerkingen. De preprocessor doet:
nog geen opmerkingen in Fortran-stijl herkennen.

-Dnaam
Definieer naam vooraf als een macro, met definitie 1.

-Dnaam=definitie
De inhoud van definitie worden tokenized en verwerkt alsof ze verschenen tijdens
vertaalfase drie in een '#define'-richtlijn. In het bijzonder zal de definitie
worden afgekapt door ingesloten newline-tekens.

Als je de preprocessor aanroept vanuit een shell of shell-achtig programma, heb je misschien nodig:
om de quote-syntaxis van de shell te gebruiken om tekens te beschermen, zoals spaties met een
betekenis in de shell-syntaxis.

Als u een functie-achtige macro op de opdrachtregel wilt definiëren, schrijft u het argument ervan
lijst met omringende haakjes vóór het gelijkteken (indien aanwezig). Haakjes zijn
zinvol voor de meeste shells, dus u moet de optie citeren. Met sh en csh,
"-D'name(args...)=definition'" werkt.

-D en -U opties worden verwerkt in de volgorde waarin ze op de opdrachtregel worden gegeven. Alle
-imacros-bestand en -include-bestandsopties worden immers verwerkt -D- en -U-opties.

-H Druk de naam af van elk gebruikt headerbestand, naast andere normale activiteiten. Elk
naam is ingesprongen om aan te geven hoe diep de stapel '#include' is.

-P Verhinder het genereren van lijnmarkeringen in de uitvoer van de preprocessor. Dit zou kunnen zijn
handig bij het uitvoeren van de preprocessor op iets dat geen C-code is, en zal worden verzonden
naar een programma dat kan worden verward door de lijnmarkeringen.

-Unaam
Annuleer een eerdere definitie van naam, ingebouwd of voorzien van een -D optie.

Opties naar te vragen or onderdrukken fouten en waarschuwingen
Fouten zijn diagnostische berichten die aangeven dat de GNU Fortran-compiler niet kan compileren
het relevante stuk broncode. De compiler zal het programma verder verwerken in
een poging om verdere fouten te melden om te helpen bij het debuggen, maar zal geen gecompileerde produceren
uitgang.

Waarschuwingen zijn diagnostische berichten die constructies rapporteren die niet inherent zijn aan
foutief zijn, maar die riskant zijn of suggereren dat er waarschijnlijk een fout in het programma zit.
Tenzij -fout is opgegeven, verhinderen ze de compilatie van het programma niet.

U kunt veel specifieke waarschuwingen aanvragen met opties die beginnen -WBijvoorbeeld -Wimpliciet
om waarschuwingen te vragen over impliciete verklaringen. Elk van deze specifieke waarschuwingsopties ook
heeft een negatieve vorm begin -Wnee- om waarschuwingen uit te schakelen; bijvoorbeeld, -Wno-impliciet.
Deze handleiding vermeldt slechts één van de twee vormen, welke niet de standaard is.

Deze opties bepalen het aantal en de soorten fouten en waarschuwingen die door GNU Fortran worden geproduceerd:

-fmax-fouten=n
Beperkt het maximum aantal foutmeldingen tot n, op welk punt GNU Fortran uitstapt
in plaats van te proberen door te gaan met het verwerken van de broncode. Indien n is 0, er is geen
beperking van het aantal geproduceerde foutmeldingen.

-fsyntax-only
Controleer de code op syntaxisfouten, maar compileer deze niet daadwerkelijk. Dit zal genereren
modulebestanden voor elke module die in de code aanwezig is, maar geen ander uitvoerbestand.

-pedant
Geef waarschuwingen voor het gebruik van extensies op Fortran 95. -pedant geldt voor
C-taalconstructies waar ze voorkomen in GNU Fortran-bronbestanden, zoals het gebruik van \e
in een tekenconstante binnen een richtlijn zoals "#include".

Geldige Fortran 95-programma's zouden correct moeten worden gecompileerd, met of zonder deze optie.
Zonder deze optie kunnen echter bepaalde GNU-extensies en traditionele Fortran-functies
worden ook ondersteund. Met deze optie worden veel van hen afgewezen.

Sommige gebruikers proberen te gebruiken -pedant om programma's op conformiteit te controleren. Ze vinden snel
dat het niet helemaal doet wat ze willen --- het vindt een aantal niet-standaard praktijken, maar
Niet alles. Verbeteringen aan GNU Fortran op dit gebied zijn echter welkom.

Dit moet worden gebruikt in combinatie met: -std=f95, -std=f2003 or -std=f2008.

-pedant-fouten
Like -pedant, behalve dat er fouten worden geproduceerd in plaats van waarschuwingen.

-Muur
Schakelt veelgebruikte waarschuwingsopties in met betrekking tot gebruik dat we aanbevelen te vermijden
en waarvan we denken dat ze gemakkelijk te vermijden zijn. Dit omvat momenteel: -Waliasen,
-Wampersand, -Wconversie, -Verrassend, -Wc-bindingstype, -Wintrinsics-std,
-Wno-tabbladen, -Wintrinsieke-schaduw, -Wline-afbreking, -Wtarget-levensduur, -Wreal-q-constante
en -Wunused.

-Waliasen
Waarschuw voor mogelijke aliasing van dummy-argumenten. In het bijzonder waarschuwt het als hetzelfde
feitelijk argument is gekoppeld aan een dummy-argument met "INTENT(IN)" en een dummy
argument met "INTENT(OUT)" in een aanroep met een expliciete interface.

In het volgende voorbeeld wordt de waarschuwing geactiveerd.

interface
subroutinebalk(a,b)
geheel getal, intentie(in) :: a
geheel getal, intentie(uit) :: b
subroutine beëindigen
einde interface
geheel getal :: a

oproepbalk (a,a)

-Wampersand
Waarschuw voor ontbrekende ampersand in continue karakterconstanten. De waarschuwing is gegeven
die al met Countr werken -Wampersand, -pedant, -std=f95, -std=f2003 en -std=f2008. Let op: zonder
ampersand gegeven in een continue karakterconstante, GNU Fortran gaat uit van voortzetting op
het eerste niet-commentaar, niet-spatieteken na het ampersand dat de . startte
voortzetting.

-Warray-tijdelijken
Waarschuw voor tijdelijke arrays die door de compiler zijn gegenereerd. De informatie die wordt gegenereerd door
deze waarschuwing is soms nuttig bij optimalisatie, om dergelijke tijdelijke situaties te vermijden.

-Wc-bindingstype
Waarschuw als de variabele a mogelijk niet interoperabel is in C. Waarschuw in het bijzonder als de
variabele is gedeclareerd met een intrinsiek type met standaardsoort in plaats van met behulp van
een soort parameter gedefinieerd voor C-interoperabiliteit in de intrinsieke "ISO_C_Binding"
module. Deze optie wordt geïmpliceerd door: -Muur.

-Wkarakter-afknotting
Waarschuw wanneer een tekentoewijzing de toegewezen tekenreeks afkapt.

-Wline-afbreking
Waarschuw wanneer een broncoderegel wordt afgekapt. Deze optie wordt geïmpliceerd door: -Muur. Voor
vrije-vorm broncode, de standaard is -Werror=regelafbreking zodanig dat truncaties
worden als fout gerapporteerd.

-Wconversie
Waarschuw voor impliciete conversies die de waarde van de uitdrukking waarschijnlijk zullen veranderen
na conversie. geïmpliceerd door -Muur.

-Wconversie-extra
Waarschuw voor impliciete conversies tussen verschillende typen en soorten. Deze optie doet:
geen impliceren -Wconversie.

-Wextra
Schakelt enkele waarschuwingsopties in voor gebruik van taalfuncties die problematisch kunnen zijn.
Dit omvat momenteel -Wvergelijk-reals en -Wunused-parameter.

-Wimplicit-interface
Waarschuwen als een procedure wordt aangeroepen zonder een expliciete interface. Let op: dit controleert alleen
dat er een expliciete interface aanwezig is. Het controleert niet of de gedeclareerde interfaces
consistent zijn tussen programma-eenheden.

-Wimplicit-procedure
Waarschuwen als een procedure wordt aangeroepen die geen expliciete interface heeft en ook niet is
aangegeven als "EXTERN".

-Wintrinsics-std
Waarschuw als gfortran vindt een procedure met de naam intrinsiek niet beschikbaar in de
momenteel geselecteerde standaard (met -soa) en behandelt het als "EXTERNE" procedure omdat:
van dit. -herfst-intrinsiek kan worden gebruikt om dit gedrag nooit te activeren en altijd te linken
naar het intrinsieke, ongeacht de geselecteerde standaard.

-Wreal-q-constante
Produceer een waarschuwing als een echt-letterlijke-constante een "q" exponent-letter bevat.

-Verrassend
Produceer een waarschuwing wanneer "verdachte" codeconstructies worden aangetroffen. Terwijl
technisch juridisch geven deze meestal aan dat er een fout is gemaakt.

Dit levert momenteel een waarschuwing op onder de volgende omstandigheden:

* Een INTEGER SELECT-constructie heeft een CASE die nooit kan worden geëvenaard als zijn lagere
waarde groter is dan de bovenwaarde.

* Een LOGICAL SELECT-constructie heeft drie CASE-instructies.

* EEN TRANSFER specificeert een bron die korter is dan de bestemming.

* Het type resultaat van een functie wordt meer dan eens gedeclareerd met hetzelfde type. Indien
-pedant of standaardconforme modus is ingeschakeld, is dit een fout.

* Een variabele "CHARACTER" wordt gedeclareerd met een negatieve lengte.

-Wtabs
Tabbladen worden standaard geaccepteerd als witruimte, maar tabbladen zijn geen lid van de Fortran
Karakterset. Voor vervolgregels is een tab gevolgd door een cijfer tussen 1 en 9
ondersteund. -Wtabs zorgt ervoor dat er een waarschuwing wordt gegeven als een tabblad wordt aangetroffen. Opmerking,
-Wtabs is actief voor -pedant, -std=f95, -std=f2003, -std=f2008, -std=f2008ts en
-Muur.

-Wonderstroom
Produceer een waarschuwing wanneer numerieke constante-expressies worden aangetroffen, die een
UNDERFLOW tijdens compilatie. Standaard ingeschakeld.

-Wintrinsieke-schaduw
Waarschuwen als een door de gebruiker gedefinieerde procedure of moduleprocedure dezelfde naam heeft als een
intrinsiek; in dit geval een expliciete interface of "EXTERN" of "INTRINSIC"
verklaring kan nodig zijn om oproepen later opgelost te krijgen naar de gewenste
intrinsiek/procedure. Deze optie wordt geïmpliceerd door: -Muur.

-Wuse-zonder-alleen
Waarschuwen als een "USE"-instructie geen "ONLY"-kwalificatie heeft en dus impliciet alles importeert
openbare lichamen van de gebruikte module.

-Wunused-dummy-argument
Waarschuw voor ongebruikte dummy-argumenten. Deze optie wordt geïmpliceerd door: -Muur.

-Wunused-parameter
In tegenstelling tot gccde betekenis van -Wunused-parameter, gfortrande uitvoering hiervan
optie waarschuwt niet voor ongebruikte dummy-argumenten (zie -Wunused-dummy-argument) doel
over ongebruikte "PARAMETER"-waarden. -Wunused-parameter wordt geïmpliceerd door -Wextra als ook
-Wunused or -Muur is gebruikt.

-Walign-commons
Standaard gfortran waarschuwt voor elke gelegenheid dat variabelen worden opgevuld voor correct
uitlijning binnen een "COMMON" blok. Deze waarschuwing kan worden uitgeschakeld via
-Wno-align-commons. Zie ook -falign-commons.

-Wfunctie-eliminatie
Waarschuw als aanroepen van functies worden geëlimineerd door de optimalisaties die zijn ingeschakeld door de
-ffrontend-optimaliseren optie.

-Wrealloc-lhs
Waarschuw wanneer de compiler code zou kunnen invoegen voor toewijzing of hertoewijzing van een
toewijsbare matrixvariabele van intrinsiek type in intrinsieke toewijzingen. In hete lussen,
de Fortran 2003-hertoewijzingsfunctie kan de prestaties verminderen. Als de array is
al toegewezen met de juiste vorm, overweeg dan om een ​​hele array-array-specificatie te gebruiken
(bijv. "(:,:,:)") voor de variabele aan de linkerkant om hertoewijzing te voorkomen
rekening. Merk op dat in sommige gevallen de waarschuwing wordt getoond, zelfs als de compiler
optimaliseer reallocatiecontroles weg. Als de rechterkant bijvoorbeeld bevat
dezelfde variabele vermenigvuldigd met een scalair. Zie ook -frealloc-lhs.

-Wrealloc-lhs-all
Waarschuwen wanneer de compiler code invoegt voor toewijzing of hertoewijzing van een
toewijsbare variabele; dit omvat scalaires en afgeleide typen.

-Wvergelijk-reals
Waarschuw bij het vergelijken van reële of complexe typen voor gelijkheid of ongelijkheid. Deze optie is
geïmpliceerd door -Wextra.

-Wtarget-levensduur
Waarschuw als de aanwijzer in een aanwijzertoewijzing mogelijk langer is dan het doel ervan. Dit
optie wordt geïmpliceerd door -Muur.

-Wzerotrip
Waarschuwen als bekend is dat een "DO"-lus nul keer wordt uitgevoerd tijdens het compileren. Deze optie is
geïmpliceerd door -Muur.

-fout
Verandert alle waarschuwingen in fouten.

Sommige hiervan hebben geen effect bij het compileren van programma's die in Fortran zijn geschreven.

Opties heeft gewacht debugging jouw programma or GNU Fortran
GNU Fortran heeft verschillende speciale opties die worden gebruikt voor het debuggen van uw programma of
de GNU Fortran-compiler.

-fdump-fortran-origineel
Voer de interne ontledingsboom uit na het vertalen van het bronprogramma naar intern
vertegenwoordiging. Alleen echt nuttig voor het debuggen van de GNU Fortran-compiler zelf.

-fdump-fortran-geoptimaliseerd
Voer de ontledingsboom uit na front-end-optimalisatie. Alleen echt nuttig voor debuggen
de GNU Fortran-compiler zelf.

-fdump-ontleden-boom
Voer de interne ontledingsboom uit na het vertalen van het bronprogramma naar intern
vertegenwoordiging. Alleen echt nuttig voor het debuggen van de GNU Fortran-compiler zelf.
Deze optie is verouderd; gebruik in plaats daarvan "-fdump-fortran-original".

-ffpe-trap=lijst
Geef een lijst op met drijvende-komma-uitzonderingstraps die u wilt inschakelen. Op de meeste systemen, als
drijvende-komma uitzondering treedt op en de trap voor die uitzondering is ingeschakeld, een SIGFPE
signaal wordt verzonden en het programma wordt afgebroken, waardoor een kernbestand wordt geproduceerd dat nuttig is voor:
debuggen. lijst is een (mogelijk lege) door komma's gescheiden lijst van de volgende
uitzonderingen: ongeldig (ongeldige drijvende-kommabewerking, zoals "SQRT(-1.0)"), nul
(deling door nul), overloop (overloop in een drijvende-kommabewerking), onderstroom
(onderstroom in een drijvende-kommabewerking), onnauwkeurig (verlies van precisie tijdens)
operatie), en denormale (bewerking uitgevoerd op een denormale waarde). De eerste vijf
uitzonderingen komen overeen met de vijf IEEE 754 uitzonderingen, terwijl de laatste (denormale)
maakt geen deel uit van de IEEE 754-standaard, maar is beschikbaar op een aantal veelvoorkomende architecturen
zoals x86.

De eerste drie uitzonderingen (ongeldig, nulen overloop) duiden vaak op serieus
fouten, en tenzij het programma voorzieningen heeft om met deze uitzonderingen om te gaan,
Het inschakelen van vallen voor deze drie uitzonderingen is waarschijnlijk een goed idee.

Veel, zo niet de meeste, drijvende-kommabewerkingen leiden tot verlies van precisie als gevolg van afronding,
en daarom is de "ffpe-trap=inexact" in de praktijk waarschijnlijk oninteressant.

Standaard zijn er geen exception traps ingeschakeld.

-ffpe-samenvatting=lijst
Geef een lijst op van uitzonderingen met drijvende komma, waarvan de vlagstatus wordt afgedrukt op
"ERROR_UNIT" bij het aanroepen van "STOP" en "ERROR STOP". lijst Kan allebei geen, allen of
door komma's gescheiden lijst van de volgende uitzonderingen: ongeldig, nul, overloop, onderstroom,
onnauwkeurig en denormale. (Zie -ffpe-val voor een beschrijving van de uitzonderingen.)

Standaard een samenvatting voor alle uitzonderingen maar onnauwkeurig wordt getoond.

-fno-backtrace
Wanneer een ernstige runtime-fout wordt aangetroffen of een dodelijk signaal wordt afgegeven
(segmentatiefout, illegale instructie, busfout, drijvende-komma-uitzondering en de
andere POSIX-signalen die de actie hebben kern), probeert de Fortran-runtimebibliotheek
een backtrace van de fout uitvoeren. "-fno-backtrace" schakelt het genereren van backtrace uit.
Deze optie heeft alleen invloed op het samenstellen van het Fortran hoofdprogramma.

Opties heeft gewacht directory search
Deze opties beïnvloeden hoe GNU Fortran zoekt naar bestanden die zijn gespecificeerd door de "INCLUDE"
richtlijn en waar het zoekt naar eerder gecompileerde modules.

Het heeft ook invloed op de zoekpaden die worden gebruikt door cpp wanneer gebruikt om de Fortran-bron voor te verwerken.

-Idir
Deze zijn van invloed op de interpretatie van de "INCLUDE"-richtlijn (evenals van de "#include"
richtlijn van de cpp voorverwerker).

Merk ook op dat het algemene gedrag van -I en "INCLUDE" is vrijwel hetzelfde als van
-I met "#include" in de cpp preprocessor, met betrekking tot het zoeken naar header.gcc
bestanden en dergelijke.

Dit pad wordt ook gebruikt om te zoeken naar .mod bestanden wanneer eerder gecompileerde modules zijn
vereist door een "USE"-verklaring.

-Jdir
Deze optie specificeert waar te plaatsen .mod bestanden voor gecompileerde modules. Het is ook toegevoegd
naar de lijst met te doorzoeken mappen met een "USE"-statement.

De standaard is de huidige map.

-fintrinsieke-modules-pad dir
Deze optie specificeert de locatie van vooraf gecompileerde intrinsieke modules, als dat niet het geval is:
op de standaardlocatie die door de compiler wordt verwacht.

Beïnvloeden de Koppeling stap
Deze opties komen in het spel wanneer de compiler objectbestanden koppelt aan een uitvoerbaar bestand
uitvoer bestand. Ze zijn zinloos als de compiler geen linkstap uitvoert.

-static-libgfortran
Op systemen die: libgfortran als een gedeelde en een statische bibliotheek, deze optie
dwingt het gebruik van de statische versie af. Indien geen gedeelde versie van libgfortran was gebouwd
toen de compiler werd geconfigureerd, heeft deze optie geen effect.

Beïnvloeden runtime gedrag
Deze opties beïnvloeden het runtime-gedrag van programma's die zijn gecompileerd met GNU Fortran.

-fconvert=Conversie
Geef de weergave van gegevens op voor niet-opgemaakte bestanden. Geldige waarden voor conversie
zijn: inheemse, de standaard; ruilen, wissel tussen big- en little-endian; big endian, Gebruik dan
big-endian representatie voor niet-geformatteerde bestanden; little-endian, gebruik little-endian
representatie voor niet-opgemaakte bestanden.

Dit optie heeft an effect alleen wanneer gebruikt in de hoofd- programma. Het "CONVERTEREN" specificeerder
en de GFORTRAN_CONVERT_UNIT milieu variabele override de verzuim gespecificeerd by
-fconvert.

-frecord-marker=lengte
Specificeer de lengte van recordmarkeringen voor niet-opgemaakte bestanden. Geldige waarden voor lengte
zijn 4 en 8. Standaard is 4. Dit is anders van vorig versies of gfortran,
die op de meeste systemen een standaard recordmarkeringslengte van 8 specificeerde. Als je wilt
lees of schrijf bestanden die compatibel zijn met eerdere versies van gfortran, Gebruik dan
-frecord-marker=8.

-fmax-subrecord-lengte=lengte
Geef de maximale lengte voor een subrecord op. De maximaal toegestane waarde voor lengte is
2147483639, wat ook de standaardinstelling is. Alleen echt nuttig voor gebruik door de gfortran
test pak.

-fsign-nul
Indien ingeschakeld, worden getallen met drijvende komma met de waarde nul met de tekenbitset geschreven
als negatief getal in geformatteerde uitvoer en als negatief behandeld in het "SIGN"
intrinsiek. -fno-teken-nul drukt het negatieve teken van nulwaarden (of waarden .) niet af
afgerond op nul voor I/O) en beschouwt nul als een positief getal in de intrinsieke "SIGN"
voor compatibiliteit met Fortran 77. De standaard is: -fsign-nul.

Opties heeft gewacht code generatie conventies
Deze machine-onafhankelijke opties regelen de interface-conventies die in code worden gebruikt
generatie.

De meeste hebben zowel positieve als negatieve vormen; de negatieve vorm van -foei zou
-fno-foo. In de onderstaande tabel wordt slechts één van de formulieren vermeld --- degene die niet de . is
standaard. U kunt het andere formulier achterhalen door ofwel te verwijderen Nee- of toevoegen.

-fno-automatisch
Behandel elke programma-eenheid (behalve die gemarkeerd als RECURSIVE) alsof de "SAVE"-instructie
werden gespecificeerd voor elke lokale variabele en array waarnaar daarin wordt verwezen. Heeft geen invloed op
gemeenschappelijke blokken. (Sommige Fortran-compilers bieden deze optie onder de naam -statisch or
-opslaan.) De standaard, dat is -fautomatisch, gebruikt de stapel voor lokale variabelen kleiner
dan de waarde gegeven door -fmax-stack-var-grootte. Gebruik de optie -frecursief nee gebruiken
statisch geheugen.

-ff2c
Genereer code die is ontworpen om compatibel te zijn met code die is gegenereerd door g77 en f2c.

De belconventies die worden gebruikt door g77 (oorspronkelijk geïmplementeerd in f2c) vereisen functies
dat type standaard "REAL" retourneert om het C-type "dubbel" daadwerkelijk te retourneren, en functies
die retourneer type "COMPLEX" om de waarden te retourneren via een extra argument in de aanroep
reeks die aangeeft waar de geretourneerde waarde moet worden opgeslagen. Onder de standaard GNU
conventies aanroepen, retourneren dergelijke functies gewoon hun resultaten zoals ze zouden doen in GNU
C --- standaard "REAL"-functies retourneren het C-type "float" en "COMPLEX"-functies retourneren
het GNU C-type "complex". Bovendien houdt deze optie de -fseconde-underscore
optie, tenzij -fno-tweede-underscore wordt uitdrukkelijk gevraagd.

Dit heeft geen invloed op het genereren van code die een interface heeft met de libgfortran
bibliotheek.

Voorzichtigheid: Het is geen goed idee om Fortran-code die is gecompileerd met -ff2c met code
gecompileerd met de standaard -fno-f2c aanroepen van conventies als, aanroepen van "COMPLEX" of
standaard "REAL"-functies tussen programmaonderdelen die zijn gecompileerd met verschillende
aanroepconventies worden verbroken tijdens de uitvoering.

Voorzichtigheid: Dit zal code breken die intrinsieke functies van het type standaard "REAL" doorgeeft
of "COMPLEX" als feitelijke argumenten, aangezien de bibliotheekimplementaties de . gebruiken -fno-f2c
conventies oproepen.

-fno-onderstreping
Transformeer geen namen van entiteiten die zijn gespecificeerd in het Fortran-bronbestand door toe te voegen
onderstreept voor hen.

met -funderscoring in feite voegt GNU Fortran één onderstrepingsteken toe aan externe namen
zonder onderstrepingstekens. Dit wordt gedaan om compatibiliteit te garanderen met code die door velen is geproduceerd
UNIX Fortran-compilers.

Voorzichtigheid: Het standaardgedrag van GNU Fortran is niet compatibel met f2c en g77, Dan kunt u
Gebruik de -ff2c optie als u wilt dat objectbestanden die zijn gecompileerd met GNU Fortran
compatibel met objectcode die met deze tools is gemaakt.

gebruik van -fno-onderstreping wordt niet aanbevolen, tenzij u met problemen aan het experimenteren bent
zoals integratie van GNU Fortran in bestaande systeemomgevingen (vis-a-vis
bestaande bibliotheken, tools, enzovoort).

Bijvoorbeeld met -funderscoring, en ervan uitgaande dat "j()" en "max_count()" zijn
externe functies terwijl "my_var" en "lvar" lokale variabelen zijn, een instructie zoals

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

wordt geïmplementeerd als iets dat lijkt op:

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

met -fno-onderstreping, wordt dezelfde verklaring geïmplementeerd als:

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

gebruik van -fno-onderstreping maakt directe specificatie van door de gebruiker gedefinieerde namen mogelijk terwijl
debuggen en bij het koppelen van GNU Fortran-code met andere talen.

Merk op dat alleen omdat de namen overeenkomen, niet geen betekenen dat de interface geïmplementeerd door
GNU Fortran voor een externe naam komt overeen met de interface die door een andere is geïmplementeerd
taal voor dezelfde naam. Dat wil zeggen, door GNU Fortran geproduceerde code te laten linken naar
code geproduceerd door een andere compiler die deze of een andere methode gebruikt, kan alleen a
klein deel van de algehele oplossing --- de code die door beide compilers is gegenereerd,
het eens zijn over andere zaken dan naamgeving kan aanzienlijke inspanning vergen, en, in tegenstelling tot naamgeving
meningsverschillen, kunnen linkers normaal gesproken geen meningsverschillen op deze andere gebieden detecteren.

Merk ook op dat met -fno-onderstreping, introduceert het ontbreken van toegevoegde onderstrepingstekens
de zeer reële mogelijkheid dat een door de gebruiker gedefinieerde externe naam conflicteert met een naam
in een systeembibliotheek, wat het vinden van onopgeloste referentiebugs behoorlijk zou kunnen maken
moeilijk in sommige gevallen --- ze kunnen voorkomen tijdens de looptijd van het programma en alleen verschijnen als
buggy gedrag tijdens runtime.

In toekomstige versies van GNU Fortran hopen we problemen met naamgeving en koppelingen te verbeteren, zodat:
debuggen houdt altijd in dat de namen worden gebruikt zoals ze in de bron voorkomen, zelfs als de
namen zoals gezien door de linker zijn verminkt om onbedoelde koppeling tussen
procedures met incompatibele interfaces.

-fseconde-underscore
Standaard voegt GNU Fortran een onderstrepingsteken toe aan externe namen. Als deze optie is
gebruikt GNU Fortran voegt twee underscores toe aan namen met underscores en één underscore
naar externe namen zonder underscores. GNU Fortran voegt ook twee onderstrepingstekens toe aan
interne namen met onderstrepingstekens om naamconflicten met externe namen te voorkomen.

Deze optie heeft geen effect als -fno-onderstreping van kracht is. Het wordt geïmpliceerd door de
-ff2c optie.

Anders wordt met deze optie een externe naam zoals "MAX_COUNT" geïmplementeerd als a
verwijzing naar het externe link-time-symbool "max_count__", in plaats van "max_count_".
Dit is vereist voor compatibiliteit met: g77 en f2c, en wordt geïmpliceerd door het gebruik van de
-ff2c optie.

-fcoarray=
geen
Schakel coarray-ondersteuning uit; coarray-declaraties en image-control-statements gebruiken
zal een compile-time fout produceren. (Standaard)

single
Enkele afbeeldingsmodus, dwz "num_images()" is altijd één.

lib Op bibliotheek gebaseerde coarray-parallellisatie; een geschikte GNU Fortran coarray-bibliotheek
moet worden gekoppeld.

-fcheck=
Het genereren van runtime-controles inschakelen; het argument moet een door komma's gescheiden lijst zijn
van de volgende trefwoorden.

allen Schakel alle runtime-tests van . in -fcheck.

array-temps
Waarschuwt tijdens runtime wanneer voor het doorgeven van een echt argument een tijdelijke array moest zijn
gegenereerd. De informatie die door deze waarschuwing wordt gegenereerd, is soms nuttig bij
optimalisatie, om dergelijke tijdelijkheid te vermijden.

Let op: De waarschuwing wordt maar één keer per locatie afgedrukt.

bounds
Genereren van runtime-controles inschakelen voor array-subscripts en tegen de gedeclareerde
minimale en maximale waarden. Het controleert ook array-indexen op veronderstelde en uitgestelde
vorm arrays tegen de werkelijk toegewezen grenzen en zorgt ervoor dat alle string
lengtes zijn gelijk voor tekenarray-constructors zonder een expliciete typespecificatie.

Sommige controles vereisen dat: -fcheck=grenzen is ingesteld voor de compilatie van de main
programma.

Opmerking: in de toekomst kan dit ook andere vormen van controle omvatten, bijvoorbeeld controleren
subtekenreeksverwijzingen.

do Genereren van runtime-controles voor ongeldige wijziging van lus-iteratie inschakelen
variabelen.

Lid Het genereren van runtime-controles voor geheugentoewijzing inschakelen. Opmerking: deze optie
heeft geen invloed op expliciete toewijzingen met behulp van de "ALLOCATE"-instructie, die zal zijn
altijd gecontroleerd.

wijzer
Maak het genereren van runtime-controles voor pointers en toewijzingen mogelijk.

herhaling
Genereren van runtime-controles inschakelen voor recursief aangeroepen subroutines en
functies die niet als recursief zijn gemarkeerd. Zie ook -frecursief. Opmerking: dit
check werkt niet voor OpenMP-programma's en is uitgeschakeld bij gebruik in combinatie met
-frecursief en -fopenmp.

-fbounds-check
Verouderde alias voor -fcheck=grenzen.

-fcheck-array-tijdelijk
Verouderde alias voor -fcheck=array-temps.

-fmax-array-constructor=n
Deze optie kan worden gebruikt om de bovengrens die is toegestaan ​​in arrayconstructors te verhogen.
De onderstaande code vereist deze optie om de array tijdens het compileren uit te breiden.

programma test
impliciet geen
geheel getal j
geheel getal, parameter :: n = 100000
geheel getal, parameter :: i(n) = (/ (2*j, j = 1, n) /)
print '(10(I0,1X))', i
programmatest beëindigen

Voorzichtigheid: Dit optie wel leiden naar lang compileren keer en buitensporig grote object
bestanden.

De standaardwaarde voor n is 65535.

-fmax-stack-var-size=n
Deze optie specificeert de grootte in bytes van de grootste array die op de
stapelen; als de grootte wordt overschreden, wordt statisch geheugen gebruikt (behalve in procedures die zijn gemarkeerd als
RECURSIEVE). Gebruik de optie -frecursief om recursieve procedures toe te staan ​​die niet
een RECURSIVE-attribuut hebben of voor parallelle programma's. Gebruik maken van -fno-automatisch om nooit te gebruiken
de stapel.

Deze optie is momenteel alleen van invloed op lokale arrays die zijn gedeclareerd met constante grenzen, en kan
niet van toepassing op alle tekenvariabelen. Toekomstige versies van GNU Fortran kunnen dit verbeteren
gedrag.

De standaardwaarde voor n is 32768.

-fstack-arrays
Door deze optie toe te voegen, plaatst de Fortran-compiler alle lokale arrays, zelfs die van
onbekende grootte op het stapelgeheugen. Als uw programma zeer grote lokale arrays gebruikt, is het:
mogelijk dat u uw runtime-limieten voor stapelgeheugen op sommige moet verlengen
besturingssystemen. Deze vlag is standaard ingeschakeld op optimalisatieniveau -Ofast.

-fpack-afgeleid
Deze optie vertelt GNU Fortran om afgeleide typeleden zo dicht mogelijk in te pakken.
Code die met deze optie is gecompileerd, is waarschijnlijk incompatibel met code die is gecompileerd zonder
deze optie, en kan langzamer worden uitgevoerd.

-frepack-arrays
In sommige omstandigheden kan GNU Fortran matrixsecties met aangenomen vorm doorgeven via a
descriptor die een niet-aangrenzend gebied van het geheugen beschrijft. Deze optie voegt code toe aan de
functie proloog om de gegevens tijdens runtime opnieuw in te pakken in een aangrenzend blok.

Dit zou moeten resulteren in snellere toegang tot de array. Het kan echter introduceren:
aanzienlijke overhead voor de functieaanroep, vooral wanneer de doorgegeven gegevens zijn
niet-aangrenzend.

-fkorte-enums
Deze optie is bedoeld voor interoperabiliteit met C-code die is gecompileerd met de
-fkorte-enums optie. Het zorgt ervoor dat GNU Fortran de kleinste "INTEGER" soort kiest a
gegeven enumerator set past in, en geeft al zijn enumerators dit soort.

-fexternal-blas
Deze optie maakt gfortran aanroepen van BLAS-functies genereren voor sommige matrix
bewerkingen zoals "MATMUL", in plaats van onze eigen algoritmen te gebruiken, als de grootte van de
betrokken matrices groter is dan een bepaalde limiet (zie -fblas-matmul-limiet). Dit kan zijn
winstgevend als een geoptimaliseerde leverancier BLAS-bibliotheek beschikbaar is. De BLAS-bibliotheek zal
moeten worden opgegeven bij de koppelingstijd.

-fblas-matmul-limit=n
Alleen significant wanneer -fexternal-blas van kracht is. Matrixvermenigvuldiging van matrices
met een maat groter dan (of gelijk aan) n wordt uitgevoerd door oproepen naar BLAS-functies,
terwijl anderen worden afgehandeld door gfortran interne algoritmen. Als de betrokken matrices
niet vierkant zijn, wordt de groottevergelijking uitgevoerd met behulp van het geometrische gemiddelde van de
dimensies van het argument en de resultaatmatrices.

De standaardwaarde voor n is 30.

-frecursief
Sta indirecte recursie toe door te forceren dat alle lokale arrays op de stapel worden toegewezen.
Deze vlag kan niet worden gebruikt in combinatie met: -fmax-stack-var-size= or -fno-automatisch.

-finit-local-nul
-eindig-geheel getal=n
-finit-real=
-finit-logisch=
-finit-karakter=n
Het -finit-local-nul optie instrueert de compiler om lokale "INTEGER" te initialiseren,
"REAL" en "COMPLEX" variabelen op nul, "LOGISCHE" variabelen op false en "CHARACTER"
variabelen naar een reeks van null-bytes. Fijnmazige initialisatie-opties zijn:
geleverd door de -eindig-geheel getal=n, -finit-real= (welke ook
initialiseert de reële en imaginaire delen van lokale "COMPLEX" variabelen),
-finit-logisch=en -finit-karakter=n (waar n is een ASCII-teken
waarde) opties. Deze opties worden niet geïnitialiseerd

* toewijsbare arrays

* componenten van afgeleide typevariabelen

* variabelen die voorkomen in een "EQUIVALENCE"-statement.

(Deze beperkingen kunnen in toekomstige releases worden verwijderd).

Merk op dat de -finit-real=nan optie initialiseert "REAL" en "COMPLEX" variabelen met a
rustige N.N. Gebruik voor een signalerend NaN -finit-real=snan; merk echter op dat de compileertijd
optimalisaties kunnen ze omzetten in stille NaN en dat trapping moet worden ingeschakeld
(bijv. via -ffpe-val).

Merk ten slotte op dat het inschakelen van een van de -eindig-* opties dempen waarschuwingen die:
zou zijn uitgezonden door -Geïnitialiseerd voor de betrokken lokale variabelen.

-falign-commons
Standaard gfortran dwingt de juiste uitlijning van alle variabelen in een "COMMON" blok af door
ze opvullen als dat nodig is. Op bepaalde platforms is dit verplicht, op andere wordt dit verhoogd
uitvoering. Als een "COMMON"-blok niet is gedeclareerd met consistente gegevenstypen
overal kan deze vulling problemen veroorzaken, en -fno-align-commons kan worden gebruikt
automatische uitlijning uitschakelen. Dezelfde vorm van deze optie moet voor alle bestanden worden gebruikt
die een "COMMON" blok delen. Om mogelijke uitlijningsproblemen in "COMMON"-blokken te voorkomen,
het wordt aanbevolen om objecten van groot naar klein te bestellen.

-fno-protect-parens
Standaard worden de haakjes in expressie gehonoreerd voor alle optimalisatieniveaus zoals
dat de compiler geen herkoppeling uitvoert. Gebruik makend van -fno-protect-parens kan de
compiler om "REAL" en "COMPLEX" uitdrukkingen opnieuw te ordenen om snellere code te produceren. Let daar op
voor de herkoppelingsoptimalisatie -fno-ondertekende nullen en -fno-trapping-wiskunde moet
van kracht zijn. De bescherming tussen haakjes is standaard ingeschakeld, tenzij -Ofast is
gegeven.

-frealloc-lhs
Een toewijsbare linkerkant van een inhoudelijke opdracht wordt automatisch
(her)toegewezen als het niet-toegewezen is of een andere vorm heeft. De optie is:
standaard ingeschakeld, behalve wanneer -std=f95 is gegeven. Zie ook -Wrealloc-lhs.

-fagressieve-functie-eliminatie
Functies met identieke argumentlijsten worden binnen instructies geëlimineerd, ongeacht
of deze functies al dan niet als "PURE" zijn gemarkeerd. Bijvoorbeeld, in

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

er zal slechts een enkele oproep naar "f" zijn. Deze optie werkt alleen als
-ffrontend-optimaliseren van kracht is.

-ffrontend-optimaliseren
Deze optie voert front-end optimalisatie uit, gebaseerd op het manipuleren van onderdelen die de Fortran
ontleden boom. Standaard ingeschakeld door elke -O optie. Optimalisaties hierdoor mogelijk gemaakt
optie omvatten eliminatie van identieke functie-aanroepen binnen expressies, verwijderen
onnodige oproepen naar "TRIM" in vergelijkingen en toewijzingen en TRIM(a) vervangen door
"a(1:LEN_TRIM(a))". Het kan worden gedeselecteerd door op te geven: -fno-frontend-optimaliseren.

MILIEU


Het gfortran compiler maakt momenteel geen gebruik van omgevingsvariabelen om te controleren
de werking ervan verder gaat dan die welke van invloed zijn op de werking van gcc.

Gebruik mips64-linux-gnuabi64-gfortran online met onworks.net-services


Ad


Ad

Nieuwste Linux & Windows online programma's