Angielskifrancuskihiszpański

Ulubiona usługa OnWorks

aarch64-linux-gnu-gfortran — online w chmurze

Uruchom aarch64-linux-gnu-gfortran w darmowym dostawcy hostingu OnWorks przez Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

To jest polecenie aarch64-linux-gnu-gfortran, które można uruchomić w darmowym dostawcy usług hostingowych OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online MAC OS

PROGRAM:

IMIĘ


gfortran - kompilator GNU Fortran

STRESZCZENIE


gfortran [-c|-S|-E]
[-g] [-str] [-Opoziom]
[-Wostrzec...] [-pedantyczny]
[-Ireż...] [-Lreż...]
[-Dmakro[=zdefiniuj]...] [-Umakro]
[-fopcja...]
[-mmaszyna-opcja...]
[-o plik wyjściowy] w pliku...

Tutaj wymieniono tylko najbardziej przydatne opcje; patrz poniżej dla reszty.

OPIS


Kurs gfortran polecenie obsługuje wszystkie opcje obsługiwane przez gcc Komenda. Tylko opcje
specyficzne dla GNU Fortran są udokumentowane tutaj.

Wszystkie opcje GCC i GNU Fortran są akceptowane zarówno przez gfortran i przez gcc (jak również wszelkie
inne sterowniki budowane w tym samym czasie, takie jak g ++), od czasu dodania GNU Fortran do GCC
dystrybucja umożliwia akceptację opcji GNU Fortran przez wszystkie odpowiednie sterowniki.

W niektórych przypadkach opcje mają formy pozytywne i negatywne; negatywna forma -fuuu by
be -fno-foo. Ten podręcznik dokumentuje tylko jeden z tych dwóch formularzy, w zależności od tego, który z nich nie jest
domyślna.

OPCJE


Oto podsumowanie wszystkich opcji specyficznych dla GNU Fortran, pogrupowanych według typu.
Wyjaśnienia znajdują się w kolejnych sekcjach.

Fortran Wybierz język Opcje
-wewnętrzna jesień -fbackslash -fcray-wskaźnik -fd-linie-jako-kod -fd-linie-jako-komentarze
-fdomyślnie-podwójne-8 -fdefault-liczba całkowita-8 -fdomyślny-rzeczywisty-8 -fdolar-ok
-fixed-line-length-n -fixed-line-length-none -fswobodna forma -ffdługość-lini-swobodnej-n
-ffdługość-linii-swobodnej-brak -ukryte-brak -liczba_całkowita-4-liczba_całkowita-8 -fmax-długość-identyfikatora
-fmodule-prywatny -stały-formularz -fno-sprawdzenie-zakresu -fopenakt -fopenmp -prawdziwy-4-prawdziwy-10
-prawdziwy-4-prawdziwy-16 -prawdziwy-4-prawdziwy-8 -prawdziwy-8-prawdziwy-10 -prawdziwy-8-prawdziwy-16 -prawdziwy-8-prawdziwy-4
-std=std

Przetwarzanie wstępne Opcje
-ZA-pytanie[=odpowiedź] -Apytanie=odpowiedź -C -CC -Dmakro[=zdefiniuj] -H -P -Umakro -cpp -dD
-di -dM -dN -du -fworking-katalog -imultilib reż -iprefiks filet -Cytuję -isysroot reż
-isystem reż -nocpp -nostdinc -niedef

Błąd i Ostrzeżenie Opcje
-Waliasing -Ściana -Wampersand Granice Warray -Typ do wiązania Wc -Obcinanie znaków
-Wkonwersja -Wfunkcja-eliminacja -Wimplicit-interfejs -Wimplicit-procedura
-Wintrinsic-cień -Wuse-bez-tylko -Wintrinsics-std -Obcinanie linii
-Wno-wyrównaj-wspólne -Wno-karty -Wreal-q-stała -Zaskakujący -Wunderflow
-Wunused-parametr -Wrealloc-lewy -Wrealloc-lewe-wszystkie -Wtarget-czas życia -fmax-błędy=n
- tylko fsyntax -pedantyczny -pedantyczne-błędy

Debugowanie Opcje
-fśledzenie wsteczne -fdump-fortran-zoptymalizowany -fdump-fortran-oryginalny -fdump-parse-drzewo
-ffpe-pułapka=podstęp -ffpe-podsumowanie=podstęp

Informator Opcje
-Ireż -Jreż -ścieżka-modułów-fintrinsic reż

Połączyć Opcje
-static-libgfortran

Czas pracy Opcje
-fkonwersja=konwersja -fmax-długość-pod-rekordu=długość -znacznik-frecord=długość -fznak-zero

Code Pożądania Opcje
-fagresywna-funkcja-eliminacja -fblas-matmul-limit=n -fbounds-check
-fcheck-array-tymczasowe -fsprawdz=
-fcotablica= -zewnętrzne-blas -ff2c -ffrontend-optymalizuj
-znak-skończony=n -skończona-całkowita=n -finit-local-zero -skończona-logiczna=
-skończony-rzeczywisty= -fmax-konstruktor-tablic=n -fmax-stos-zmienna-rozmiar=n
-fno-align-commons -fno-automatyczne -fno-protect-parens -fno-podkreślenie
-fdruga-podkreślenie -pochodzące z fpack -frealloc-lhs -częstotliwość - tablice frepack
-fshort-wyliczenia -fstack-tablice

Opcje kontrolowania Fortran dialekt
Poniższe opcje kontrolują szczegóły dialektu Fortran akceptowanego przez kompilator:

-fswobodna forma
-stały-formularz
Określ układ używany przez plik źródłowy. Układ dowolnej formy został wprowadzony w
Fortran 90. Stała forma była tradycyjnie używana w starszych programach Fortran. Kiedy
żadna opcja nie jest określona, ​​forma źródłowa jest określona przez rozszerzenie pliku.

-wewnętrzna jesień
Ta opcja powoduje, że wszystkie wewnętrzne procedury (w tym rozszerzenia specyficzne dla GNU) są:
być uznanym. Może to być przydatne w przypadku -std=f95 wymusić zgodność ze standardami, ale uzyskać
dostęp do pełnej gamy elementów wewnętrznych dostępnych z gfortran. W konsekwencji,
-Wintrinsics-std zostanie zignorowana i żadna procedura zdefiniowana przez użytkownika o tej samej nazwie co
wszelkie wewnętrzne będą wywoływane, z wyjątkiem sytuacji, gdy zostaną wyraźnie zadeklarowane jako „ZEWNĘTRZNE”.

-fd-linie-jako-kod
-fd-linie-jako-komentarze
Włącz specjalne traktowanie dla wierszy zaczynających się od „d” lub „D” w źródłach o stałej formie.
Jeśli -fd-linie-jako-kod podana jest opcja, są one traktowane tak, jakby pierwsza kolumna
zawierał puste miejsce. Jeśli -fd-linie-jako-komentarze podana jest opcja, są one traktowane jako
linie komentarza.

-fdolar-ok
Dopuszczać $ jako prawidłowy nie pierwszy znak w nazwie symbolu. Symbole zaczynające się od $ jest
odrzucone, ponieważ nie jest jasne, które zasady mają być stosowane do niejawnego typowania jako różne
dostawcy wdrażają różne zasady. Za pomocą $ w oświadczeniach „IMPLICIT” również jest odrzucany.

-fbackslash
Zmień interpretację ukośników odwrotnych w literałach łańcuchowych z jednego ukośnika odwrotnego
znak na znaki ucieczki „w stylu C”. Następujące kombinacje są rozszerzone
"\a", "\b", "\f", "\n", "\r", "\t", "\v", "\\" i "\0" do znaków ASCII
alert, backspace, wysuw formularza, nowa linia, powrót karetki, zakładka pozioma, zakładka pionowa,
odwrotny ukośnik i NUL, odpowiednio. Dodatkowo „\x”nn, „\u”nnnn i Ty"nnnnnnnn
(gdzie każdy n jest cyfrą szesnastkową) są tłumaczone na znaki Unicode
odpowiadające określonym punktom kodowym. Wszystkie inne kombinacje postaci
poprzedzone \ są nierozwinięte.

-fmodule-prywatny
Ustaw domyślną dostępność encji modułu na „PRYWATNE”. Związane z użytkowaniem
jednostki nie będą dostępne, chyba że zostaną wyraźnie zadeklarowane jako „PUBLICZNE”.

-fixed-line-length-n
Ustaw kolumnę, po której znaki są ignorowane w typowych wierszach o stałej formie w
plik źródłowy, i przez który spacje są przyjmowane (jakby dopełnione do tej długości) po
końce krótkich linii o stałej formie.

Popularne wartości dla n to 72 (standardowy i domyślny), 80 (obraz karty) i
132 (odpowiada opcjom "extended-source" w niektórych popularnych kompilatorach). n może
również być Żaden, co oznacza, że ​​cała linia ma znaczenie, a ciąg dalszy znaków
do stałych nigdy nie są dołączone niejawne spacje, aby wypełnić linię.
-fixed-line-length-0 oznacza to samo co -fixed-line-length-none.

-ffdługość-lini-swobodnej-n
Ustaw kolumnę, po której znaki są ignorowane w typowych liniach o dowolnej formie w źródle
plik. Wartość domyślna to 132. n może być Żaden, co oznacza, że ​​cała linia jest
znaczący. -fwolna-długość-linii-0 oznacza to samo co -ffdługość-linii-swobodnej-brak.

-fmax-długość-identyfikatora=n
Określ maksymalną dozwoloną długość identyfikatora. Typowe wartości to 31 (Fortran 95) i
63 (Fortran 2003 i Fortran 2008).

-ukryte-brak
Określ, że nie jest dozwolone niejawne wpisywanie, chyba że zostanie zastąpione jawnym „IMPLICIT”
sprawozdania. Jest to równoważne dodaniu „niejawnego żadnego” na początku każdego
procedura.

-fcray-wskaźnik
Włącz rozszerzenie wskaźnika Cray, które zapewnia funkcjonalność wskaźnika podobną do C.

-fopenakt
Włącz rozszerzenia OpenACC. Obejmuje to dyrektywy OpenACC „!$acc” w wolnej formie
i dyrektywy "c$acc", *$acc i "!$acc" w formie stałej, kompilacja warunkowa "!$"
wartownicy w formie wolnej i wartownicy "c$", "*$" i "!$" w formie stałej, oraz kiedy
łączenie organizuje powiązanie biblioteki wykonawczej OpenACC.

Pamiętaj, że jest to funkcja eksperymentalna, niekompletna i może ulec zmianie w przyszłości
wersje GCC. Widziećhttps://gcc.gnu.org/wiki/OpenACC> więcej informacji.

-fopenmp
Włącz rozszerzenia OpenMP. Obejmuje to dyrektywy OpenMP „!$omp” w wolnej formie
i dyrektywy "c$omp", *$omp i "!$omp" w ustalonej formie, kompilacja warunkowa "!$"
wartownicy w formie wolnej i wartownicy "c$", "*$" i "!$" w formie stałej, oraz kiedy
linkowanie organizuje linkowanie biblioteki wykonawczej OpenMP. Opcja -fopenmp
sugeruje -częstotliwość.

-fno-sprawdzenie-zakresu
Wyłącz sprawdzanie zakresu w wynikach uproszczenia wyrażeń stałych podczas
kompilacja. Na przykład GNU Fortran wyświetli błąd w czasie kompilacji, gdy:
upraszczając „a = 1. / 0”. W przypadku tej opcji nie zostanie podany żaden błąd i zostanie wyświetlone „a”
przypisano wartość „+Nieskończoność”. Jeśli wynikiem wyrażenia jest wartość poza
odpowiedni zakres ["-HUGE()":"HUGE()"], wtedy wyrażenie zostanie zastąpione przez "-Inf"
lub „+Inf” odpowiednio. Podobnie, "DATA i/Z'FFFFFFFF'/" da w wyniku liczbę całkowitą
przepełnienie w większości systemów, ale z -fno-sprawdzenie-zakresu wartość „zawinie się” i
Zamiast tego "i" zostanie zainicjowane na -1.

-fdefault-liczba całkowita-8
Ustaw domyślne typy całkowite i logiczne na typ o szerokości 8 bajtów. Ta opcja również
wpływa na rodzaj stałych całkowitych, takich jak 42. W przeciwieństwie do -liczba_całkowita-4-liczba_całkowita-8, to robi
nie promować zmiennych z jawną deklaracją rodzaju.

-fdomyślny-rzeczywisty-8
Ustaw domyślny typ rzeczywisty na typ o szerokości 8 bajtów. Ta opcja wpływa również na rodzaj
niepodwójne rzeczywiste stałe, takie jak 1.0, i promują domyślną szerokość „DOUBLE
PRECISION" do 16 bajtów, jeśli to możliwe, chyba że podano również "-fdefault-double-8".
-prawdziwy-4-prawdziwy-8, nie promuje zmiennych z jawną deklaracją rodzaju.

-fdomyślnie-podwójne-8
Ustaw typ „DOUBLE PRECISION” na typ o szerokości 8 bajtów. Nie rób nic, jeśli to już jest
domyślny. Gdyby -fdomyślny-rzeczywisty-8 jest podane, zamiast tego byłoby „PODWÓJNA PRECYZJA”
promowany do 16 bajtów, jeśli to możliwe, i -fdomyślnie-podwójne-8 można temu zapobiec.
Rodzaj stałych rzeczywistych, takich jak „1.d0”, nie zostanie zmieniony przez -fdomyślny-rzeczywisty-8 chociaż,
więc też -fdomyślnie-podwójne-8 nie ma na to wpływu.

-liczba_całkowita-4-liczba_całkowita-8
Promuj wszystkie jednostki "INTEGER(KIND=4)" do jednostek "INTEGER(KIND=8)". Jeśli „RODZAJ=8”
jest niedostępny, zostanie wygenerowany błąd. Z tej opcji należy korzystać ostrożnie
i może nie być odpowiedni dla twoich kodów. Obszary, które mogą budzić obawy obejmują wezwania do:
procedury zewnętrzne, wyrównanie w „RÓWNOWAŻNOŚCI” i/lub „WSPÓLNE”, interfejsy ogólne,
BOZ dosłowna konwersja stała i I/O. Kontrola półproduktu
reprezentacja przetłumaczonego kodu Fortran, wyprodukowanego przez -fdump-tree-origin, jest
zasugerował.

-prawdziwy-4-prawdziwy-8
-prawdziwy-4-prawdziwy-10
-prawdziwy-4-prawdziwy-16
-prawdziwy-8-prawdziwy-4
-prawdziwy-8-prawdziwy-10
-prawdziwy-8-prawdziwy-16
Promuj wszystkie jednostki "REAL(KIND=M)" do jednostek "REAL(KIND=N)". Jeśli „REAL(RODZAJ=N)” to
niedostępne, zostanie wyświetlony błąd. Wszystkie inne prawdziwe rodzaje są nienaruszone
przez tę opcję. Te opcje powinny być używane ostrożnie i mogą nie być odpowiednie dla
twoje kody. Obszary, które mogą budzić obawy obejmują wezwania do procedur zewnętrznych, dostosowanie
w "RÓWNOWAŻENIU" i/lub "WSPÓLNYM", interfejsach generycznych, konwersji stałej literowej BOZ,
i we/wy. Kontrola pośredniej reprezentacji przetłumaczonego Fortran
kod, wyprodukowany przez -fdump-tree-origin, jest sugerowane.

-std=std
Określ standard, z którym ma być zgodny program, który może być jednym z
f95, f2003, f2008, gnu antylopalub dziedzictwo. Domyślna wartość dla std is gnu antylopa, który określa
nadzbiór standardu Fortran 95, który zawiera wszystkie rozszerzenia obsługiwane przez
GNU Fortran, chociaż będą wyświetlane ostrzeżenia dotyczące przestarzałych rozszerzeń, które nie są zalecane
do użytku w nowym kodzie. ten dziedzictwo wartość jest równoważna, ale bez ostrzeżeń dla
przestarzałe rozszerzenia i mogą być przydatne w przypadku starych niestandardowych programów. ten f95, f2003
i f2008 wartości określają ścisłą zgodność z Fortran 95, Fortran 2003 i
odpowiednio standardy Fortran 2008; błędy są podane dla wszystkich rozszerzeń poza
odpowiedni standard językowy, a w przypadku funkcji Fortran 77 wyświetlane są ostrzeżenia, które:
są dozwolone, ale przestarzałe w późniejszych standardach. -std=f2008ts umożliwia Fortran 2008
norma zawierająca dodatki do Specyfikacji Technicznej (TS) 29113 na Dalej
Interoperacyjność Fortran z C i TS 18508 na dodatkowych funkcjach równoległych w
Fortran.

umożliwiać i dostosować przetwarzanie wstępne
Opcje związane z preprocesorem. Patrz sekcja Przetwarzanie wstępne i warunkowy kompilacja dla
bardziej szczegółowe informacje na temat wstępnego przetwarzania w gfortran.

-cpp
-nocpp
Włącz wstępne przetwarzanie. Preprocesor jest wywoływany automatycznie, jeśli rozszerzenie pliku
is .fpp, .FPP, .F, .DLA, .FTN, .F90, .F95, .F03 or .F08. Użyj tej opcji, aby ręcznie
umożliwiają wstępne przetwarzanie dowolnego rodzaju pliku Fortran.

Aby wyłączyć wstępne przetwarzanie plików z dowolnym z wymienionych powyżej rozszerzeń, użyj przycisku
forma negatywna: -nocpp.

Preprocesor działa w trybie tradycyjnym. Wszelkie ograniczenia formatu pliku,
zwłaszcza ograniczenia dotyczące długości linii, dotyczą również wstępnie przetworzonych danych wyjściowych, więc…
może być wskazane użycie -ffdługość-linii-swobodnej-brak or -fixed-line-length-none
opcje.

-dM Zamiast normalnego wyjścia wygeneruj listę dyrektyw „#define” dla wszystkich
makra zdefiniowane podczas wykonywania preprocesora, w tym predefiniowane makra.
W ten sposób możesz dowiedzieć się, co jest wstępnie zdefiniowane w Twojej wersji
preprocesor. Zakładając, że nie masz pliku foo.f90, Komenda

dotknij foo.f90; gfortran -cpp -E -dM foo.f90

pokaże wszystkie predefiniowane makra.

-dD Jak -dM z wyjątkiem dwóch aspektów: nie zawiera predefiniowanych makr i
wypisuje zarówno dyrektywy „#define”, jak i wynik przetwarzania wstępnego. Oba rodzaje
wyjście przejdź do standardowego pliku wyjściowego.

-dN Jak -dD, ale emitują tylko nazwy makr, a nie ich rozwinięcia.

-du Jak dD z tym wyjątkiem, że tylko makra, które są rozwinięte lub których zdefiniowanie jest testowane w
dyrektywy preprocesora są wyprowadzane; wyjście jest opóźnione do momentu użycia lub testu
makro; i dyrektywy '#undef' są również wyprowadzane dla makr przetestowanych, ale niezdefiniowanych w
czas.

-di Wyprowadzaj dyrektywy „#include” oprócz wyniku przetwarzania wstępnego.

-fworking-katalog
Włącz generowanie znaczników linii na wyjściu preprocesora, które pozwolą kompilatorowi
znać bieżący katalog roboczy w czasie przetwarzania wstępnego. Kiedy ta opcja to
włączony, preprocesor wyemituje, po początkowym znaczniku linii, drugi znacznik linii
z bieżącym katalogiem roboczym, po którym następują dwa ukośniki. GCC użyje tego
katalog, gdy jest obecny we wstępnie przetworzonym wejściu, ponieważ katalog wyemitowany jako
bieżący katalog roboczy w niektórych formatach informacji debugowania. Ta opcja to
niejawnie włączone, jeśli informacje debugowania są włączone, ale można to powstrzymać za pomocą
zanegowana forma -fno-katalog-roboczy, Jeśli -P flaga jest obecna w poleceniu
line, ta opcja nie ma żadnego efektu, ponieważ żadne dyrektywy "#line" nie są emitowane.

-idirafter reż
Szukaj reż dla plików dołączanych, ale zrób to po wszystkich katalogach określonych za pomocą -I i
standardowe katalogi systemowe zostały wyczerpane. reż jest traktowany jako system
dołącz katalog. Jeśli katalog zaczyna się od „=”, to „=” zostanie zastąpione przez
przedrostek sysroot; zobaczyć --główny system i -isysroot.

-imultilib reż
Zastosowanie reż jako podkatalog katalogu zawierającego nagłówki C++ specyficzne dla celu.

-iprefiks prefiks
Sprecyzować prefiks jako przedrostek dla kolejnych -izprefiksem opcje. Jeśli prefiks
reprezentuje katalog, powinieneś dołączyć końcowy '/'.

-isysroot reż
Ta opcja jest podobna do --główny system opcja, ale dotyczy tylko plików nagłówkowych. Zobacz
--główny system opcja, aby uzyskać więcej informacji.

-Cytuję reż
Szukaj reż tylko dla plików nagłówkowych żądanych z "#include "plik""; oni nie są
szukano „#include ", przed wszystkimi katalogami określonymi przez -I i przed
standardowe katalogi systemowe. Gdyby reż zaczyna się od „=”, następnie „=” zostanie zastąpiony przez
przedrostek sysroot; zobaczyć --główny system i -isysroot.

-isystem reż
Szukaj reż dla plików nagłówkowych, po wszystkich katalogach określonych przez -I ale przed
standardowe katalogi systemowe. Oznacz go jako katalog systemowy, aby był taki sam
specjalne traktowanie, jak w przypadku standardowych katalogów systemowych. Gdyby reż Zaczyna się z
"=", wtedy "=" zostanie zastąpione przedrostkiem sysroot; zobaczyć --główny system i -isysroot.

-nostdinc
Nie przeszukuj standardowych katalogów systemowych w poszukiwaniu plików nagłówkowych. Tylko katalogi
określiłeś z -I opcje (i katalog bieżącego pliku, jeśli
odpowiednie) są przeszukiwane.

-niedef
Nie predefiniuj żadnych makr specyficznych dla systemu lub GCC. Wstępnie zdefiniowany standard
makra pozostają zdefiniowane.

-Aorzec=odpowiedź
Dokonaj asercji z predykatem orzec i odpowiedź odpowiedź. Ten formularz jest
preferowana w stosunku do starszej formy -A predykat(odpowiedź), która jest nadal obsługiwana, ponieważ
nie używa znaków specjalnych powłoki.

-ZA-orzec=odpowiedź
Anuluj asercję z predykatem orzec i odpowiedź odpowiedź.

-C Nie odrzucaj komentarzy. Wszystkie komentarze są przekazywane do pliku wyjściowego, z wyjątkiem
dla komentarzy w przetworzonych dyrektywach, które są usuwane wraz z dyrektywą.

Powinieneś być przygotowany na skutki uboczne podczas używania -C; powoduje to, że preprocesor
traktuj komentarze jako osobne tokeny. Na przykład komentarze pojawiające się na
początek tego, co byłoby wierszem dyrektywy, powoduje przekształcenie tego wiersza w
zwykła linia źródłowa, ponieważ pierwszy token w linii nie jest już „#”.

Ostrzeżenie: obecnie obsługuje tylko komentarze w stylu C. Preprocesor jeszcze nie działa
rozpoznaje komentarze w stylu Fortran.

-CC Nie odrzucaj komentarzy, także podczas rozwijania makr. To jest jak -C, z wyjątkiem
że komentarze zawarte w makrach są również przekazywane do pliku wyjściowego, gdzie
makro jest rozwinięte.

Oprócz skutków ubocznych -C opcja, -CC opcja powoduje, że wszystko w stylu C++
komentarze wewnątrz makra, które mają zostać przekonwertowane na komentarze w stylu C. Ma to zapobiec później
użycie tego makra przed nieumyślnym zakomentowaniem pozostałej części wiersza źródłowego.
Kurs -CC opcja jest zwykle używana do obsługi komentarzy lint.

Ostrzeżenie: obecnie obsługuje tylko komentarze w stylu C i C++. Preprocesor nie
nie rozpoznaje jeszcze komentarzy w stylu Fortran.

-DNazwa
Predefiniuj nazwę jako makro, z definicją 1.

-DNazwa=definicja
Zawartość definicja są tokenizowane i przetwarzane tak, jakby pojawiły się w trakcie
trzecia faza tłumaczenia w dyrektywie „#define”. W szczególności definicja będzie:
być obcinane przez osadzone znaki nowego wiersza.

Jeśli wywołujesz preprocesor z powłoki lub programu podobnego do powłoki, możesz potrzebować
używać składni cytowania powłoki do ochrony znaków, takich jak spacje, które mają
znaczenie w składni powłoki.

Jeśli chcesz zdefiniować makro podobne do funkcji w wierszu poleceń, napisz jego argument
lista z otaczającymi nawiasami przed znakiem równości (jeśli istnieje). Nawiasy są
ma znaczenie dla większości powłok, więc musisz zacytować tę opcję. Z sh i csh,
Działa "-D'nazwa(args...)=definicja'".

-D i -U opcje są przetwarzane w kolejności podanej w wierszu poleceń. Wszystko
Opcje pliku -imacros i -include pliku są przetwarzane po wszystkich opcjach -D i -U.

-H Wydrukuj nazwę każdego używanego pliku nagłówkowego, oprócz innych normalnych czynności. Każdy
nazwa jest wcięta, aby pokazać, jak głęboko jest w stosie „#include”.

-P Zablokuj generowanie znaczników linii na wyjściu preprocesora. To może być
przydatne podczas uruchamiania preprocesora na czymś, co nie jest kodem C i zostanie wysłane
do programu, który może być zdezorientowany przez znaczniki linii.

-UNazwa
Anuluj poprzednią definicję Nazwa, wbudowane lub wyposażone w -D opcja.

Opcje do zażądać or stłumić błędy i ostrzeżenia
Błędy to komunikaty diagnostyczne informujące o tym, że kompilator GNU Fortran nie może się skompilować
odpowiedni fragment kodu źródłowego. Kompilator będzie kontynuował przetwarzanie programu w
próba zgłaszania dalszych błędów, aby pomóc w debugowaniu, ale nie przyniesie żadnych skompilowanych
wyjście.

Ostrzeżenia to komunikaty diagnostyczne, które zgłaszają konstrukcje, które nie są z natury
błędne, ale ryzykowne lub sugerujące istnienie błędu w programie.
Chyba że -Błąd jest określony, nie uniemożliwiają one kompilacji programu.

Możesz poprosić o wiele konkretnych ostrzeżeń, zaczynając od opcji -W, Na przykład -Mięczak
żądać ostrzeżeń dotyczących niejawnych deklaracji. Każda z tych konkretnych opcji ostrzegawczych również
ma początek formy przeczącej -Wnie- wyłączyć ostrzeżenia; na przykład, -Wno-niejawny.
W tym podręczniku wymieniono tylko jeden z dwóch formularzy, w zależności od tego, który nie jest domyślny.

Te opcje kontrolują ilość i rodzaje błędów i ostrzeżeń generowanych przez GNU Fortran:

-fmax-błędy=n
Ogranicza maksymalną liczbę komunikatów o błędach do n, w którym to momencie GNU Fortran wycofuje się
zamiast próbować kontynuować przetwarzanie kodu źródłowego. Gdyby n jest 0, nie ma
ograniczenie liczby generowanych komunikatów o błędach.

- tylko fsyntax
Sprawdź kod pod kątem błędów składniowych, ale w rzeczywistości go nie kompiluj. To wygeneruje
pliki modułów dla każdego modułu obecnego w kodzie, ale żadnego innego pliku wyjściowego.

-pedantyczny
Wyświetlaj ostrzeżenia dotyczące korzystania z rozszerzeń do Fortran 95. -pedantyczny dotyczy również
Konstrukcje w języku C, w których występują w plikach źródłowych GNU Fortran, takie jak użycie \e
w stałej znakowej w ramach dyrektywy, takiej jak „#include”.

Prawidłowe programy Fortran 95 powinny skompilować się poprawnie z tą opcją lub bez niej.
Jednak bez tej opcji niektóre rozszerzenia GNU i tradycyjne funkcje Fortran
są również obsługiwane. Dzięki tej opcji wiele z nich jest odrzucanych.

Niektórzy użytkownicy próbują używać -pedantyczny aby sprawdzić programy pod kątem zgodności. Wkrótce znajdują
że nie robi dokładnie tego, czego chcą — znajduje pewne niestandardowe praktyki, ale
nie wszystko. Jednak mile widziane są ulepszenia GNU Fortran w tym obszarze.

Powinno to być używane w połączeniu z -std=f95, -std=f2003 or -std=f2008.

-pedantyczne-błędy
Jak -pedantyczny, z tą różnicą, że generowane są błędy, a nie ostrzeżenia.

-Ściana
Włącza często używane opcje ostrzeżeń dotyczące użytkowania, których zalecamy unikać
i wierzymy, że łatwo ich uniknąć. Obecnie obejmuje to -Waliasing,
-Wampersand, -Wkonwersja, -Zaskakujący, -Typ do wiązania Wc, -Wintrinsics-std,
-Wno-karty, -Wintrinsic-cień, -Obcinanie linii, -Wtarget-czas życia, -Wreal-q-stała
i -Nieużywany.

-Waliasing
Ostrzegaj o możliwym aliasingu fałszywych argumentów. W szczególności ostrzega, jeśli to samo
rzeczywisty argument jest powiązany z fikcyjnym argumentem z "INTENT(IN)" i fikcyjnym
argument z "INTENT(OUT)" w wywołaniu z jawnym interfejsem.

Poniższy przykład wywoła ostrzeżenie.

Interfejs
pasek podprogramu(a,b)
liczba całkowita, intencja(w) :: a
liczba całkowita, intencja(out) :: b
koniec podprogramu
interfejs końcowy
liczba całkowita :: a

wezwania (a,a)

-Wampersand
Ostrzegaj o braku znaku ampersand w stałych znakowych. Pojawia się ostrzeżenie
w -Wampersand, -pedantyczny, -std=f95, -std=f2003 i -std=f2008. Uwaga: bez
ampersand podane w ciągłej stałej znakowej, GNU Fortran zakłada kontynuację w
pierwszy znak bez komentarza, bez odstępu po znaku ampersand, który zainicjował znak
kontynuacja.

-Warray-tymczasowe
Ostrzegaj o tymczasowych tablicach generowanych przez kompilator. Informacje generowane przez
ostrzeżenie to jest czasami przydatne w optymalizacji, aby uniknąć takich tymczasowych elementów.

-Typ do wiązania Wc
Ostrzegaj, jeśli zmienna może nie być interoperacyjna w C. W szczególności ostrzegaj, jeśli
zmienna została zadeklarowana przy użyciu typu wewnętrznego z domyślnym rodzajem zamiast używania
parametr rodzaju zdefiniowany dla interoperacyjności C w wewnętrznym „ISO_C_Binding”
moduł. Ta opcja jest implikowana przez -Ściana.

-Obcinanie znaków
Ostrzegaj, gdy przypisanie znaku spowoduje obcięcie przypisanego ciągu.

-Obcinanie linii
Ostrzegaj, gdy linia kodu źródłowego zostanie skrócona. Ta opcja jest implikowana przez -Ściana. Forum
dowolny kod źródłowy, domyślnie -Werror=obcięcie linii tak, że obcięcia
są zgłaszane jako błąd.

-Wkonwersja
Ostrzegaj o niejawnych konwersjach, które mogą zmienić wartość wyrażenia
po konwersji. Zasugerowany przez -Ściana.

-Wkonwersja-dodatkowa
Ostrzegaj o niejawnych konwersjach między różnymi typami i rodzajami. Ta opcja nie
nie sugerować -Wkonwersja.

-Wextra
Włącza niektóre opcje ostrzeżeń o korzystaniu z funkcji językowych, które mogą być problematyczne.
Obecnie obejmuje to -Wporównaj-reale i -Wunused-parametr.

-Wimplicit-interfejs
Ostrzegaj, jeśli wywoływana jest procedura bez wyraźnego interfejsu. Zwróć uwagę, że to tylko sprawdza
że istnieje jawny interfejs. Nie sprawdza, czy zadeklarowane interfejsy
są spójne we wszystkich jednostkach programu.

-Wimplicit-procedura
Ostrzegaj, jeśli zostanie wywołana procedura, która nie ma ani wyraźnego interfejsu, ani nie została
zadeklarowane jako „ZEWNĘTRZNE”.

-Wintrinsics-std
Ostrzegaj, jeśli gfortran znajduje procedurę o nazwie jak wewnętrzna niedostępna w
aktualnie wybrany standard (z -std) i traktuje ją jako procedurę ZEWNĘTRZNĄ, ponieważ
tego. -wewnętrzna jesień można użyć, aby nigdy nie wywoływać tego zachowania i zawsze łączyć
do istoty niezależnie od wybranego standardu.

-Wreal-q-stała
Wygeneruj ostrzeżenie, jeśli stała real-literal zawiera literę wykładnika „q”.

-Zaskakujący
Wygeneruj ostrzeżenie w przypadku napotkania „podejrzanych” konstrukcji kodu. Podczas
technicznie legalne zwykle wskazują, że popełniono błąd.

To obecnie generuje ostrzeżenie w następujących okolicznościach:

* Konstrukt INTEGER SELECT ma CASE, którego nigdy nie można dopasować jako jego niższy
wartość jest większa niż jej górna wartość.

* Konstrukcja LOGICAL SELECT ma trzy instrukcje CASE.

* TRANSFER określa źródło, które jest krótsze niż miejsce docelowe.

* Typ wyniku funkcji jest deklarowany więcej niż raz z tym samym typem. Gdyby
-pedantyczny lub włączony jest tryb zgodny ze standardami, jest to błąd.

* Zmienna "CHARACTER" jest zadeklarowana z ujemną długością.

-Wtabs
Domyślnie tabulatory są akceptowane jako białe znaki, ale tabulatory nie są członkami Fortran
Zestaw znaków. W przypadku kontynuacji, tabulator, po którym następuje cyfra od 1 do 9, to
utrzymany. -Wtabs spowoduje wyświetlenie ostrzeżenia w przypadku napotkania karty. Notatka,
-Wtabs jest aktywny przez -pedantyczny, -std=f95, -std=f2003, -std=f2008, -std=f2008ts i
-Ściana.

-Wunderflow
Wygeneruj ostrzeżenie w przypadku napotkania liczbowych wyrażeń stałych, które dają
NIEDOSTĘPNOŚĆ podczas kompilacji. Domyślnie włączone.

-Wintrinsic-cień
Ostrzegaj, jeśli procedura zdefiniowana przez użytkownika lub procedura modułu ma taką samą nazwę jak
wewnętrzny; w tym przypadku wyraźny interfejs lub „ZEWNĘTRZNY” lub „WEWNĘTRZNY”
deklaracja może być potrzebna, aby wywołać później rozwiązane do pożądanego
wewnętrzna/procedura. Ta opcja jest implikowana przez -Ściana.

-Wuse-bez-tylko
Ostrzegaj, jeśli instrukcja „USE” nie ma kwalifikatora „ONLY”, a zatem niejawnie importuje wszystkie
podmioty publiczne używanego modułu.

-Wunused-fałszywy-argument
Ostrzegaj o niewykorzystanych obojętnych argumentach. Ta opcja jest implikowana przez -Ściana.

-Wunused-parametr
Przeciwnie do gccznaczenie -Wunused-parametr, gfortranrealizacja tego
opcja nie ostrzega o niewykorzystanych fikcyjnych argumentach (zobacz -Wunused-fałszywy-argument), ale
o niewykorzystanych wartościach „PARAMETR”. -Wunused-parametr jest dorozumiana przez -Wextra jeśli też
-Nieużywany or -Ściana Jest używane.

-Walign-wspólne
Domyślnie gfortran ostrzega o każdej okazji dopełnienia zmiennych dla prawidłowego
wyrównanie wewnątrz bloku „COMMON”. To ostrzeżenie można wyłączyć za pomocą
-Wno-wyrównaj-wspólne. Zobacz też -falign-commons.

-Wfunkcja-eliminacja
Ostrzegaj, jeśli jakiekolwiek wywołania funkcji są eliminowane przez optymalizacje włączone przez
-ffrontend-optymalizuj opcja.

-Wrealloc-lewy
Ostrzegaj, gdy kompilator może wstawić kod w celu alokacji lub realokacji
przypisywalna zmienna tablicowa typu wewnętrznego w przypisaniach wewnętrznych. W gorących pętlach,
funkcja realokacji Fortran 2003 może zmniejszyć wydajność. Jeśli tablica to
już przydzielone z poprawnym kształtem, rozważ użycie specyfikacji całej tablicy
(np. "(:,:,:)") dla zmiennej po lewej stronie, aby zapobiec ponownej alokacji
sprawdzać. Zauważ, że w niektórych przypadkach wyświetlane jest ostrzeżenie, nawet jeśli kompilator nie:
zoptymalizować kontrole realokacji. Na przykład, gdy prawa strona zawiera
ta sama zmienna pomnożona przez skalar. Zobacz też -frealloc-lhs.

-Wrealloc-lewe-wszystkie
Ostrzegaj, gdy kompilator wstawia kod do w celu alokacji lub realokacji
przypisywalna zmienna; obejmuje to skalary i typy pochodne.

-Wporównaj-reale
Ostrzegaj podczas porównywania typów rzeczywistych lub złożonych pod kątem równości lub nierówności. Ta opcja to
zasugerowany przez -Wextra.

-Wtarget-czas życia
Ostrzegaj, jeśli wskaźnik w przypisaniu wskaźnika może być dłuższy niż jego cel. Ten
opcja jest implikowana przez -Ściana.

-Wzerowycieczka
Ostrzegaj, jeśli wiadomo, że pętla „DO” wykonuje zero razy w czasie kompilacji. Ta opcja to
zasugerowany przez -Ściana.

-Błąd
Zamienia wszystkie ostrzeżenia w błędy.

Niektóre z nich nie działają podczas kompilowania programów napisanych w Fortranie.

Opcje dla debugowania Twój program or GNU Fortran
GNU Fortran ma różne specjalne opcje, które są używane do debugowania twojego programu lub
kompilator GNU Fortran.

-fdump-fortran-oryginalny
Wypisz wewnętrzne drzewo analizy po przetłumaczeniu programu źródłowego na wewnętrzny
reprezentacja. Tylko naprawdę przydatne do debugowania samego kompilatora GNU Fortran.

-fdump-fortran-zoptymalizowany
Wyprowadź drzewo analizy po optymalizacji frontonu. Tylko naprawdę przydatne do debugowania
sam kompilator GNU Fortran.

-fdump-parse-drzewo
Wypisz wewnętrzne drzewo analizy po przetłumaczeniu programu źródłowego na wewnętrzny
reprezentacja. Tylko naprawdę przydatne do debugowania samego kompilatora GNU Fortran.
Ta opcja jest przestarzała; zamiast tego użyj "-fdump-fortran-original".

-ffpe-pułapka=podstęp
Określ listę pułapek wyjątków zmiennoprzecinkowych do włączenia. W większości systemów, jeśli:
występuje wyjątek zmiennoprzecinkowy i pułapka dla tego wyjątku jest włączona, SIGFPE
sygnał zostanie wysłany, a program zostanie przerwany, tworząc plik podstawowy przydatny do
debugowanie. podstęp to (prawdopodobnie pusta) lista rozdzielonych przecinkami następujących elementów
wyjątki: nieważny (nieprawidłowa operacja zmiennoprzecinkowa, np. „SQRT(-1.0)”), zero
(dzielenie przez zero), przelewowy (przepełnienie w operacji zmiennoprzecinkowej), niedomiar
(niedomiar w operacji zmiennoprzecinkowej), fałszywy (utrata precyzji podczas
operacja) i nienormalny (operacja wykonywana na wartości nienormalnej). Pierwsza piątka
wyjątki odpowiadają pięciu wyjątkom IEEE 754, podczas gdy ostatni (nienormalny)
nie jest częścią standardu IEEE 754, ale jest dostępny w niektórych popularnych architekturach
takich jak x86.

Pierwsze trzy wyjątki (nieważny, zero, przelewowy) często wskazują na poważne
błędów i o ile program nie zawiera przepisów dotyczących postępowania z tymi wyjątkami,
włączenie pułapek dla tych trzech wyjątków jest prawdopodobnie dobrym pomysłem.

Wiele, jeśli nie większość operacji zmiennoprzecinkowych powoduje utratę precyzji z powodu zaokrąglania,
i stąd "ffpe-trap=niedokładne" prawdopodobnie nie będzie interesujące w praktyce.

Domyślnie pułapki wyjątków nie są włączone.

-ffpe-podsumowanie=podstęp
Określ listę wyjątków zmiennoprzecinkowych, których stan flagi jest wypisywany na
„ERROR_UNIT” po wywołaniu „STOP” i „ERROR STOP”. podstęp może być Żaden, cała kolekcja lub
lista oddzielonych przecinkami następujących wyjątków: nieważny, zero, przelewowy, niedomiar,
fałszywy i nienormalny. (Widzieć -ffpe-pułapka opis wyjątków).

Domyślnie podsumowanie wszystkich wyjątków, ale fałszywy jest pokazane.

-fno-trace wstecz
W przypadku napotkania poważnego błędu w czasie wykonywania lub wyemitowania śmiertelnego sygnału
(błąd segmentacji, nieprawidłowa instrukcja, błąd magistrali, wyjątek zmiennoprzecinkowy i
inne sygnały POSIX, które mają akcję core), biblioteka uruchomieniowa Fortran próbuje
wypisz ślad błędu. "-fno-backtrace" wyłącza generowanie śledzenia wstecznego.
Ta opcja ma wpływ tylko na kompilację głównego programu Fortran.

Opcje dla katalog szukanie
Te opcje wpływają na sposób, w jaki GNU Fortran wyszukuje pliki określone przez „INCLUDE”
dyrektywy i gdzie szuka wcześniej skompilowanych modułów.

Ma to również wpływ na ścieżki wyszukiwania używane przez Cpp gdy jest używany do wstępnego przetwarzania źródła Fortran.

-Ireż
Wpływają one na interpretację dyrektywy „INCLUDE” (jak również „#include”
dyrektywa Cpp preprocesor).

Należy również zauważyć, że ogólne zachowanie -I a „INCLUDE” jest prawie takie samo jak w
-I z „#include” w Cpp preprocesor w zakresie poszukiwania nagłówek.gcc
pliki i inne tego typu rzeczy.

Ta ścieżka jest również używana do wyszukiwania mod pliki, gdy poprzednio skompilowane moduły są
wymagane przez instrukcję „USE”.

-Jreż
Ta opcja określa, gdzie umieścić mod pliki dla skompilowanych modułów. Jest również dodawany
do listy katalogów do przeszukania za pomocą instrukcji "USE".

Domyślnie jest to bieżący katalog.

-ścieżka-modułów-fintrinsic reż
Ta opcja określa lokalizację wstępnie skompilowanych wewnętrznych modułów, jeśli nie są
w domyślnej lokalizacji oczekiwanej przez kompilator.

Wywieranie wpływu dotychczasowy Powiązanie krok
Te opcje wchodzą w grę, gdy kompilator łączy pliki obiektowe w plik wykonywalny
plik wyjściowy. Nie mają znaczenia, jeśli kompilator nie wykonuje kroku linku.

-static-libgfortran
W systemach, które zapewniają libgfortran jako biblioteka współdzielona i statyczna, ta opcja
wymusza stosowanie wersji statycznej. Jeśli nie ma udostępnionej wersji libgfortran był zbudowany
gdy kompilator został skonfigurowany, ta opcja nie ma wpływu.

Wywieranie wpływu Czas zachowanie
Te opcje wpływają na zachowanie się programów skompilowanych za pomocą GNU Fortran.

-fkonwersja=konwersja
Określ reprezentację danych dla niesformatowanych plików. Prawidłowe wartości konwersji
należą: rodzimy, domyślny; zamiana, zamień big- i little-endian; big endian, Stosowanie
reprezentacja big-endian dla niesformatowanych plików; mały-endian, użyj little-endian
reprezentacja plików niesformatowanych.

To zdjęcie opcja ma an efekt tylko jeśli chodzi o komunikację i motywację używany in dotychczasowy główny program. Kurs "KONWERTOWAĆ" specyficzny
i dotychczasowy GFORTRAN_CONVERT_UNIT środowisko zmienna Zastąp dotychczasowy domyślnym określony by
-fkonwertuj.

-znacznik-frecord=długość
Określ długość znaczników rekordów dla niesformatowanych plików. Prawidłowe wartości dla długość
to 4 i 8. Wartość domyślna to 4. To zdjęcie is różne od poprzedni Wersje of gfortran,
który określał domyślną długość znacznika rekordu na 8 w większości systemów. Jeśli chcesz
odczytywanie lub zapisywanie plików zgodnych z wcześniejszymi wersjami gfortran, Stosowanie
-znacznik-frecord=8.

-fmax-długość-pod-rekordu=długość
Określ maksymalną długość podrekordu. Maksymalna dozwolona wartość długości to
2147483639, co jest również wartością domyślną. Tylko naprawdę przydatne do użytku przez gfortran
zestaw testowy.

-fznak-zero
Po włączeniu zapisywane są liczby zmiennoprzecinkowe o wartości zero z ustawionym bitem znaku
jako liczba ujemna w sformatowanym wyjściu i traktowana jako ujemna w "ZNAKU"
wewnętrzny. -fno-znak-zero nie drukuje ujemnego znaku wartości zerowych (lub wartości
zaokrąglone do zera dla I/O) i traktuje zero jako liczbę dodatnią w wewnętrznej „ZNAKU”
dla kompatybilności z Fortranem 77. Domyślnie -fznak-zero.

Opcje dla kod generacja Konwencje
Te opcje niezależne od maszyny kontrolują konwencje interfejsu używane w kodzie
generacja.

Większość z nich ma zarówno formy pozytywne, jak i negatywne; negatywna forma -fuuu byłby
-fno-foo. W poniższej tabeli wymieniony jest tylko jeden z formularzy --- ten, który nie jest
domyślny. Możesz dowiedzieć się, jaka jest druga forma, usuwając no- lub dodanie go.

-fno-automatyczne
Traktuj każdą jednostkę programu (z wyjątkiem tych oznaczonych jako REKURSIVE) tak, jakby instrukcja „ZAPISZ”
zostały określone dla każdej zmiennej lokalnej i tablicy, do której się odwołuje. Nie wpływa
wspólne bloki. (Niektóre kompilatory Fortran udostępniają tę opcję pod nazwą -statyczny or
-zapisać.) Wartość domyślna, czyli -fautomatyczne, używa stosu dla zmiennych lokalnych mniejszych
niż wartość podana przez -fmax-stos-rozmiar-zmiennej. Użyj opcji -częstotliwość używać nie
pamięć statyczna.

-ff2c
Wygeneruj kod zaprojektowany tak, aby był zgodny z kodem wygenerowanym przez g77 i f2c.

Konwencje wywoływania używane przez g77 (pierwotnie zaimplementowany w f2c) wymagają funkcji
które zwracają typ domyślny "REAL", aby faktycznie zwrócić typ C "double" i funkcje
zwracają typ „COMPLEX”, aby zwrócić wartości za pomocą dodatkowego argumentu w wywołaniu
sekwencja wskazująca, gdzie przechowywać zwracaną wartość. Pod domyślnym GNU
wywoływanie konwencji, takie funkcje po prostu zwracają swoje wyniki, tak jak w GNU
C---domyślne funkcje „REAL” zwracają „float” typu C, a funkcje „COMPLEX” zwracają
„kompleks” typu GNU C. Dodatkowo ta opcja implikuje -fdruga-podkreślenie
opcja, chyba że -fno-sekunda-podkreślenie jest wyraźnie wymagane.

Nie ma to wpływu na generowanie kodu, który łączy się z libgfortran
biblioteka.

Ostrzeżenie: Nie jest dobrym pomysłem mieszać skompilowany kod Fortran z -ff2c z kodem
skompilowany z domyślnym -fno-f2c wywoływanie konwencji jako, wywoływanie „COMPLEX” lub
domyślne "REAL" funkcje między częściami programu, które zostały skompilowane z różnymi
konwencje wywoływania zostaną zerwane w czasie wykonywania.

Ostrzeżenie: Spowoduje to złamanie kodu, który przekazuje wewnętrzne funkcje typu domyślnego „REAL”
lub "KOMPLEKS" jako rzeczywiste argumenty, ponieważ implementacje biblioteczne używają -fno-f2c
wywoływanie konwencji.

-fno-podkreślenie
Nie przekształcaj nazw podmiotów określonych w pliku źródłowym Fortran przez dołączenie
podkreśla do nich.

Wraz z -punktacja fundatorów w efekcie GNU Fortran dodaje jeden znak podkreślenia do nazw zewnętrznych
bez podkreśleń. Ma to na celu zapewnienie zgodności z kodem produkowanym przez wielu
Kompilatory UNIX Fortran.

Uwaga: Domyślne zachowanie GNU Fortran jest niezgodne z f2c i g77Proszę
użyć -ff2c opcja, jeśli chcesz, aby pliki obiektowe skompilowane za pomocą GNU Fortran były
kompatybilny z kodem wynikowym utworzonym za pomocą tych narzędzi.

w korzystaniu -fno-podkreślenie nie jest zalecane, chyba że eksperymentujesz z problemami
takie jak integracja GNU Fortran z istniejącymi środowiskami systemowymi (vis-a-vis
istniejące biblioteki, narzędzia itd.).

Na przykład za pomocą -punktacja fundatorówi zakładając, że „j()” i „max_count()” są
funkcje zewnętrzne, podczas gdy "my_var" i "lvar" są zmiennymi lokalnymi, instrukcja taka jak

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

jest zaimplementowany jako coś podobnego do:

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

Wraz z -fno-podkreślenie, ta sama instrukcja jest zaimplementowana jako:

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

w korzystaniu -fno-podkreślenie umożliwia bezpośrednie określenie nazw zdefiniowanych przez użytkownika, podczas gdy
debugowanie i łączenie kodu GNU Fortran z innymi językami.

Zauważ, że tylko dlatego, że nazwy pasują, nie nie oznacza, że ​​interfejs zaimplementowany przez
GNU Fortran dla nazwy zewnętrznej pasuje do interfejsu zaimplementowanego przez inne
język o tej samej nazwie. Oznacza to, że otrzymanie kodu wyprodukowanego przez GNU Fortran, aby połączyć się z
kod stworzony przez inny kompilator przy użyciu tej lub dowolnej innej metody może być tylko
mała część całego rozwiązania --- uzyskanie kodu wygenerowanego przez oba kompilatory do
zgadzanie się w kwestiach innych niż nazewnictwo może wymagać znacznego wysiłku i, w przeciwieństwie do nazewnictwa
niezgodności, linkery normalnie nie mogą wykryć niezgodności w tych innych obszarach.

Pamiętaj też, że z -fno-podkreślenie, wprowadza brak dołączonych podkreśleń
bardzo realna możliwość, że nazwa zewnętrzna zdefiniowana przez użytkownika będzie kolidować z nazwą
w bibliotece systemowej, co może sprawić, że znalezienie nierozwiązanych błędów referencyjnych będzie dość łatwe
w niektórych przypadkach trudne ---mogą wystąpić w czasie wykonywania programu i pojawić się tylko jako
buggy zachowanie w czasie wykonywania.

W przyszłych wersjach GNU Fortran mamy nadzieję poprawić problemy z nazewnictwem i łączeniem, aby
debugowanie zawsze wiąże się z użyciem nazw tak, jak pojawiają się w źródle, nawet jeśli
nazwy widziane przez linker są zniekształcone, aby zapobiec przypadkowemu połączeniu między
procedury z niekompatybilnymi interfejsami.

-fdruga-podkreślenie
Domyślnie GNU Fortran dodaje podkreślenie do nazw zewnętrznych. Jeśli ta opcja to
używany GNU Fortran dodaje dwa podkreślenia do nazw z podkreśleniami i jeden podkreślnik
do nazw zewnętrznych bez podkreśleń. GNU Fortran dodaje również dwa podkreślenia do:
nazwy wewnętrzne z podkreśleniami, aby uniknąć kolizji nazw z nazwami zewnętrznymi.

Ta opcja nie działa, jeśli -fno-podkreślenie obowiązuje. Wynika to z
-ff2c opcja.

W przeciwnym razie w przypadku tej opcji nazwa zewnętrzna, taka jak „MAX_COUNT”, zostanie zaimplementowana jako
odwołanie do zewnętrznego symbolu czasu łącza „max_count__”, zamiast „max_count_”.
Jest to wymagane dla zgodności z g77 i f2c, i jest dorozumiana przez użycie
-ff2c opcja.

-fcotablica=
Żaden
Wyłącz obsługę współrzędnej; za pomocą deklaracji coarray i instrukcji kontroli obrazu
spowoduje błąd w czasie kompilacji. (Domyślny)

pojedynczy
Tryb pojedynczego obrazu, tj. „num_images()” to zawsze jeden.

lib Równoległość współrzędności oparta na bibliotece; odpowiednia biblioteka coarray GNU Fortran
musi być połączony.

-fsprawdz=
Włącz generowanie sprawdzeń w czasie wykonywania; argument powinien być listą oddzieloną przecinkami
z następujących słów kluczowych.

cała kolekcja Włącz wszystkie testy w czasie wykonywania -fsprawdź.

tablica-temps
Ostrzega w czasie wykonywania, gdy do przekazania rzeczywistego argumentu musi być tymczasowa tablica
wygenerowane. Informacje generowane przez to ostrzeżenie są czasami przydatne w:
optymalizacji, w celu uniknięcia takich prowizorii.

Uwaga: ostrzeżenie jest drukowane tylko raz na lokalizację.

miedza
Włącz generowanie sprawdzeń w czasie wykonywania dla indeksów tablicy i względem zadeklarowanego
wartości minimalne i maksymalne. Sprawdza również indeksy tablicy pod kątem założonych i odroczonych
kształtowanie tablic w stosunku do rzeczywistych przydzielonych granic i zapewnia, że ​​wszystkie ciągi
długości są równe dla konstruktorów tablic znaków bez jawnego typespec.

Niektóre kontrole tego wymagają -fcheck=granice jest ustawiony na kompilację głównego
program.

Uwaga: w przyszłości może to również obejmować inne formy sprawdzania, np. sprawdzanie
referencje podciągów.

do Włącz generowanie testów w czasie wykonywania pod kątem nieprawidłowej modyfikacji iteracji pętli
zmiennych.

Członek Włącz generowanie testów w czasie wykonywania dla alokacji pamięci. Uwaga: ta opcja
nie wpływa na jawne alokacje przy użyciu instrukcji „ALLOCATE”, która będzie
zawsze sprawdzane.

wskaźnik
Włącz generowanie sprawdzeń w czasie wykonywania dla wskaźników i obiektów do przypisania.

rekurencja
Włącz generowanie sprawdzeń w czasie wykonywania dla rekurencyjnie wywoływanych podprogramów i
funkcje, które nie są oznaczone jako rekurencyjne. Zobacz też -częstotliwość. Uwaga: to
check nie działa w programach OpenMP i jest wyłączony, jeśli jest używany razem z
-częstotliwość i -fopenmp.

-fbounds-check
Przestarzały alias dla -fcheck=granice.

-fcheck-array-tymczasowe
Przestarzały alias dla -fcheck=tablica-temps.

-fmax-konstruktor-tablic=n
Ta opcja może służyć do zwiększenia górnego limitu dozwolonego w konstruktorach tablicowych.
Poniższy kod wymaga tej opcji, aby rozwinąć tablicę w czasie kompilacji.

test programu
ukryty żaden
liczba całkowita j
liczba całkowita, parametr :: n = 100000
liczba całkowita, parametr :: i(n) = (/ (2*j, j = 1, n) /)
wypisz '(10(I0,1X))', i
test zakończenia programu

Ostrzeżenie: To zdjęcie opcja mogą prowadzić do długie skompilować czasy i nadmiernie duży przedmiot
akta.

Wartość domyślna dla n to 65535.

-fmax-stos-zmienna-rozmiar=n
Ta opcja określa rozmiar w bajtach największej tablicy, która zostanie umieszczona na
stos; jeśli rozmiar zostanie przekroczony, używana jest pamięć statyczna (z wyjątkiem procedur oznaczonych jako
REKURSYJNE). Użyj opcji -częstotliwość zezwolić na procedury rekurencyjne, które nie
mieć atrybut REKURSYWNY lub dla programów równoległych. Posługiwać się -fno-automatyczne nigdy nie używać
stos.

Ta opcja ma obecnie wpływ tylko na lokalne tablice zadeklarowane ze stałymi ograniczeniami i może
nie dotyczy wszystkich zmiennych znakowych. Przyszłe wersje GNU Fortran mogą to poprawić
zachowanie.

Wartość domyślna dla n to 32768.

-fstack-tablice
Dodanie tej opcji spowoduje, że kompilator Fortran umieści wszystkie lokalne tablice, nawet te z
nieznany rozmiar w pamięci stosu. Jeśli twój program używa bardzo dużych lokalnych tablic, to:
możliwe, że w niektórych przypadkach będziesz musiał przedłużyć limity czasu wykonywania dla pamięci stosu
system operacyjny. Ta flaga jest domyślnie włączona na poziomie optymalizacji -Oszybko.

-pochodzące z fpack
Ta opcja informuje GNU Fortran, aby upakował elementy typu pochodnego tak blisko, jak to możliwe.
Kod skompilowany z tą opcją prawdopodobnie będzie niekompatybilny z kodem skompilowanym bez
ta opcja i może działać wolniej.

- tablice frepack
W pewnych okolicznościach GNU Fortran może przekazywać założone sekcje tablicy kształtów przez a
deskryptor opisujący nieciągły obszar pamięci. Ta opcja dodaje kod do
prolog funkcji do przepakowania danych do ciągłego bloku w czasie wykonywania.

Powinno to skutkować szybszym dostępem do tablicy. Jednak może to wprowadzić
znaczne obciążenie wywołania funkcji, zwłaszcza gdy przekazywane dane są
nieciągły.

-fshort-wyliczenia
Ta opcja zapewnia współdziałanie z kodem C skompilowanym za pomocą
-fshort-wyliczenia opcja. To sprawi, że GNU Fortran wybierze najmniejszy rodzaj „INTEGER” a
podany zestaw enumeratorów będzie pasował, a wszystkie jego enumeratory będą takie same.

-zewnętrzne-blas
Ta opcja sprawi, że gfortran generować wywołania funkcji BLAS dla jakiejś macierzy
operacje takie jak "MATMUL", zamiast używania własnych algorytmów, jeśli rozmiar
zaangażowane macierze są większe niż podany limit (patrz -fblas-matmul-limit). To może być
opłacalne, jeśli dostępna jest zoptymalizowana biblioteka BLAS dostawcy. Biblioteka BLAS będzie
należy określić w czasie połączenia.

-fblas-matmul-limit=n
Istotne tylko wtedy, gdy -zewnętrzne-blas obowiązuje. Mnożenie macierzy przez macierze
o rozmiarze większym niż (lub równym) n będą realizowane przez wywołania funkcji BLAS,
podczas gdy inne będą obsługiwane przez gfortran algorytmy wewnętrzne. Jeśli zaangażowane macierze
nie są kwadratowe, porównanie wielkości odbywa się za pomocą średniej geometrycznej
wymiary macierzy argumentów i wyników.

Wartość domyślna dla n to 30.

-częstotliwość
Zezwalaj na pośrednią rekursję, wymuszając alokację wszystkich lokalnych tablic na stosie.
Ta flaga nie może być używana razem z -fmax-stos-zmienna-rozmiar= or -fno-automatyczne.

-finit-local-zero
-skończona-całkowita=n
-skończony-rzeczywisty=
-skończona-logiczna=
-znak-skończony=n
Kurs -finit-local-zero opcja nakazuje kompilatorowi zainicjować lokalną "INTEGER",
Zmienne „REAL” i „COMPLEX” na zero, zmienne „LOGICAL” na fałsz i „CHARACTER”
zmienne na ciąg pustych bajtów. Bardziej szczegółowe opcje inicjalizacji to
dostarczone przez -skończona-całkowita=n, -skończony-rzeczywisty= (co również
inicjuje rzeczywiste i urojone części lokalnych zmiennych „COMPLEX”),
-skończona-logiczna=, -znak-skończony=n (gdzie n jest znakiem ASCII
wartość) opcje. Te opcje nie są inicjowane

* tablice przydzielone

* składowe zmiennych typu pochodnego

* zmienne, które pojawiają się w instrukcji „RÓWNOWAŻNOŚĆ”.

(Te ograniczenia mogą zostać usunięte w przyszłych wydaniach).

Zauważ, że -finit-real=nan opcja inicjuje zmienne "REAL" i "COMPLEX" z
cichy NaN. Do sygnalizacji NaN użyj -finit-real=snan; zauważ jednak, że czas kompilacji
optymalizacje mogą przekształcić je w ciche NaN i że należy włączyć pułapkowanie
(np. przez -ffpe-pułapka).

Na koniec zwróć uwagę, że włączenie dowolnego z -skończony-* opcje wyciszą ostrzeżenia, które
zostałby wyemitowany przez -Niezainicjowano dla odpowiednich zmiennych lokalnych.

-falign-commons
Domyślnie gfortran wymusza prawidłowe wyrównanie wszystkich zmiennych w bloku „COMMON” przez
wypełniając je w razie potrzeby. Na niektórych platformach jest to obowiązkowe, na innych wzrasta
wydajność. Jeśli blok „COMMON” nie jest zadeklarowany ze spójnymi typami danych
wszędzie ta wyściółka może powodować problemy i -fno-align-commons mogą być stosowane w celu
wyłącz automatyczne wyrównanie. Ta sama forma tej opcji powinna być używana dla wszystkich plików
które mają wspólny blok „WSPÓLNY”. Aby uniknąć potencjalnych problemów z wyrównaniem w blokach „COMMON”,
zaleca się zamawianie obiektów od największych do najmniejszych.

-fno-protect-parens
Domyślnie nawiasy w wyrażeniu są honorowane dla wszystkich poziomów optymalizacji, takich jak
że kompilator nie wykonuje żadnego ponownego skojarzenia. Za pomocą -fno-protect-parens Pozwala
kompilator do zmiany kolejności wyrażeń "REAL" i "COMPLEX" w celu szybszego tworzenia kodu. Zauważ, że
do optymalizacji ponownego asocjacji -fno-podpisane-zera i -fno-trapping-matematyka trzeba
obowiązywać. Ochrona nawiasów jest domyślnie włączona, chyba że -Oszybko is
dany.

-frealloc-lhs
Przypisywalna lewa strona przypisania wewnętrznego jest automatycznie
(ponownie)przydzielone, jeśli jest nieprzydzielone lub ma inny kształt. Opcja to
domyślnie włączone, z wyjątkiem sytuacji, gdy -std=f95 jest podawany. Zobacz też -Wrealloc-lewy.

-fagresywna-funkcja-eliminacja
Funkcje z identycznymi listami argumentów są eliminowane w instrukcjach, niezależnie od
czy te funkcje są oznaczone jako „PURE”, czy nie. Na przykład w

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

będzie tylko jedno wywołanie „f”. Ta opcja działa tylko wtedy, gdy
-ffrontend-optymalizuj obowiązuje.

-ffrontend-optymalizuj
Ta opcja wykonuje optymalizację front-end, opartą na manipulowaniu częściami Fortran
analizować drzewo. Domyślnie włączone przez dowolne -O opcja. Optymalizacje włączone przez to
opcja obejmuje eliminację identycznych wywołań funkcji w wyrażeniach, usuwanie
niepotrzebne wezwania do „TRIM” w porównaniach i przypisaniach oraz zastąpienie TRIM(a) przez
„a(1:LEN_TRIM(a))”. Można go odznaczyć, określając -fno-frontend-optymalizuj.

ŚRODOWISKO


Kurs gfortran kompilator obecnie nie wykorzystuje żadnych zmiennych środowiskowych do kontrolowania
jego działanie ponad i poza tymi, które wpływają na działanie gcc.

Użyj aarch64-linux-gnu-gfortran online, korzystając z usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

Komendy systemu Linux

Ad