fort77(1p)

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

NAMN

fort77 – FORTRAN-kompilator (FORTRAN)

SYNOPSIS

fort77 [-c] [-g] [-L katalog]... [-O optnivå] [-o utfil] [-s] [-w] operand...

BESKRIVNING

Verktyget fort77 är ett gränssnitt till FORTRAN-kompilationssystemet; det ska acceptera hela FORTRAN-77-språket enligt ANSI X3.9-1978-standarden. Systemet består konceptuellt av en kompilator och en länkare. Operander kompileras och länkas för att producera en körbar fil. Det är ospecificerat om länkningen sker helt inom fort77 eller först vid exekvering.

Med flaggan -c ska varje operand fil.f resultera i en objektfil:

 $(basename fil.f).o

Om -c inte anges är det ospecificerat om .o-filer skapas eller raderas.

Om inga alternativ förhindrar länkning (som -c) och alla operander kompileras och länkas utan fel, ska den körbara filen skrivas till den fil som anges med -o, eller som a.out om -o saknas. Filen ska skapas med rättigheter:

 S_IRWXU | S_IRWXG | S_IRWXO, med bitar nollställda enligt processens umask.

FLAGGOR

fort77 följer POSIX.1-2017, Avsnitt 12.2, med undantag:

  • -l bibliotek har flaggform men påverkas av position i operandlistan
  • Ordningen av -L är betydelsefull
  • Flaggor ska anges separat (t.ex. -g -c, inte -gc)

Följande flaggor stöds:

-c Undertryck länkning och behåll objektfiler.

-g Generera symbolisk information (ospecificerat innehåll).

-s Ta bort symbolik ej nödvändig för exekvering ("strippa").

-o utfil Namnge den körbara filen som utfil istället för a.out. Om -o används med -c är resultatet ospecificerat.

-L katalog Sätt sökordning för -l till att först söka i denna katalog. Minst 10 -L ska stödjas.

-O optnivå Ange optimeringsnivå:

 -O 0  Inaktiverar optimering
 -O 1  Ospecificerad optimering
 Andra värden får stödjas

-w Undertryck varningar

OPERANDER

Operander är antingen filnamn eller -l bibliotek. Minst en fil ska anges.

fil.f FORTRAN-kod att kompileras fil.a Bibliotek med objektfiler (t.ex. från ar) fil.o Objektfil från fort77 -c

-l bibliotek Sök i biblioteket lib''bibliotek.a

STDIN

Används ej.

INDATAFILER

Indata är antingen:

  • FORTRAN-källkod
  • Objektfil från fort77 -c
  • Bibliotek från ar

<TAB> i de första 6 kolumnerna flyttar nästa tecken till kolumn 7.

MILJÖVARIABLER

LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, NLSPATH och TMPDIR påverkar körningen. TMPDIR styr katalog för temporära filer.

ASYNKRONA HÄNDELSER

Standard.

STDOUT

Används ej.

STDERR

Endast för felmeddelanden. Vid flera .f-filer kan:

 "filnamn:\n"

skrivas ut för att identifiera fel.

Varningar kan visas utan att ge felstatus.

UTDATAFILER

Objekt-, listnings- och körbara filer skapas i ospecificerat format.

UTFÖRLIG BESKRIVNING

Standardbibliotek

-l f Innehåller funktioner enligt ANSI X3.9-1978. Behöver inte anges för att användas.

Om länkning sker ska fort77 automatiskt lägga till -l f sist i länkkommandot.

Externa symboler Symbolnamn ska stödjas upp till minst 31 byte. Case-folding tillåts. Minst 511 symboler per fil, totalt 4095. Vid för många skrivs diagnostik till standard ut.

AVSLUTNINGSSTATUS

0 om lyckad kompilering/länkning >0 vid fel

KONSEKVENSER AV FEL

Vid kompilationsfel skrivs fel till standardfel och fort77 fortsätter. Status blir över noll. Objektfil kan skapas – det är implementationdefinierat.

TILLÄMPNINGSTIPS

Inga.

EXEMPEL

Kompilera xyz.f till körbar fil foo:

 fort77 -o foo xyz.f

Kompilera xyz.f till objektfil:

 fort77 -c xyz.f

Kompilera xyz.f till a.out:

 fort77 xyz.f

Kompilera xyz.f och länka med b.o:

 fort77 xyz.f b.o

PRINCIPER

Namnet fort77 valdes för att undvika konflikt med historiska f77. ANSI X3.9-1978 valdes för att ISO-varianten är föråldrad.

Ingen C-preprocessor (som #define) krävs, trots att vissa implementationer använder den.

-onetrip utelämnades eftersom det är från FORTRAN-66.

Kompilationslistor specificeras inte på grund av oenighet.

Ingen -I inkluderas, eftersom INCLUDE är en förslag inom Fortran-90, ej POSIX.

Vissa kompilatorer skapar objektfiler trots fel. Detta är tillåtet.

MIL-STD-1753 togs bort på förfrågan från POSIX FORTRAN-gruppen.

Optimering:

 -O 0  Inaktivera
 -O 1  Någon optimering
 -O n  Andra, ospecificerade

Syftet med -O 0 är att förhindra semantiskt påverkande optimering.

Standardbiblioteket libf.a behöver inte finnas som fil, men -l f ska fungera.

Symbolgränser anges för att applikationer ska kunna anpassa sig. Vad som sker vid överträdelse är ospecificerat.

Vid fel kan länkaren lämna efter sig en delvis skriven fil, eller inget alls. Program ska inte lita på existensen av a.out, endast på exitstatus.

-g och -s är inte inbördes uteslutande.

Flaggorna måste anges separat (inte -gc). Det reserverar flerbokstavskombinationer för leverantörer.

Filnamn på stderr är ett diagnostiskt meddelande för att underlätta felsökning.

FRAMTIDA ÄNDRINGAR

Detta verktyg kan komma att tas bort i framtida standarder. Modernare Fortran-kompilatorer existerar.

SE ÄVEN

ar(1p), asa(1p), c99(1p), umask(1p), exec(1p)

POSIX.1-2017: Kapitel 8 (Miljövariabler), Avsnitt 12.2 (Syntax för verktyg)

COPYRIGHT

Delar av denna text är hämtad från IEEE Std 1003.1-2017, The Open Group Base Specifications Issue 7, 2018 Edition. Se http://www.opengroup.org/unix/online.html

Typografiska fel kan ha uppstått vid konvertering. Rapportera fel till: https://www.kernel.org/doc/man-pages/reporting_bugs.html

Sidslut

Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/fort77.1p.html


Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp Bromma som har sponsrat Linux.se med webbhotell.