Aceasta este comanda fort77posix care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
fort77 — compilator FORTRAN (FORTRAN)
REZUMAT
fort77 [−c] [−g] [−L director]... [−O optlevel] [−o outfile] [−s]
[−w] operand...
DESCRIERE
fort77 utilitatea este interfața cu sistemul de compilare FORTRAN; va accepta
limbajul complet FORTRAN-77 definit de standardul ANSI X3.9‐1978. Sistemul din punct de vedere conceptual
constă dintr-un compilator și un editor de linkuri. Fișierele la care face referire operands sunt compilate și
conectat pentru a produce un fișier executabil. Nu se specifică dacă are loc legătura
în întregime în cadrul operațiunii de fort77; unele implementări pot produce obiecte care sunt
nu este rezolvată complet până când fișierul nu este executat.
În cazul în care −c opțiunea este prezentă, pentru toți operanzii de cale a formularului fişier.f, fișierele:
$(nume de bază caii de acces.f).o
va fi creat sau suprascris ca rezultat al compilării cu succes. Dacă −c opțiune
nu este specificat, este nespecificat dacă astfel .o fișierele sunt create sau șterse pentru
fişier.f operanzi.
Dacă nu există opțiuni care împiedică editarea linkurilor (cum ar fi −c) și toți operanzii se compilează
și link fără eroare, fișierul executabil rezultat va fi scris în fișierul numit
langa −o opțiunea (dacă este prezentă) sau la fișier a.out. Fișierul executabil va fi creat
așa cum este specificat în volumul System Interfaces din POSIX.1‐2008, cu excepția faptului că fișierul
permisiunile vor fi setate la: S_IRWXO | S_IRWXG | S_IRWXU
și că biții specificați de masca procesului va fi șters.
OPŢIUNI
fort77 utilitatea trebuie să se conformeze volumului Definiții de bază din POSIX.1-2008, Secțiune
12.2, Utilitate Sintaxă Instrucțiuni, cu excepția faptului că:
* −l bibliotecă operanzii au formatul opțiunilor, dar poziția lor într-o listă
de operanzi afectează ordinea în care sunt căutate bibliotecile.
* Ordinea de precizare a multiplului −L opțiunile este semnificativă.
* Aplicațiile conforme vor specifica fiecare opțiune separat; adică opțiunea de grupare
litere (de exemplu, −cg) nu trebuie să fie recunoscut de toate implementările.
Următoarele opțiuni vor fi acceptate:
−c Suprimați faza de editare a link-ului a compilației și nu eliminați niciun obiect
fișierele care sunt produse.
−g Produceți informații simbolice în obiectul sau fișierele executabile; natura
aceste informații sunt nespecificate și pot fi modificate prin implementare definită
interacțiuni cu alte opțiuni.
−s Produceți fișiere obiect sau executabile, sau ambele, din care simbolice și altele
informații care nu sunt necesare pentru o execuție corectă folosind Exec familie de funcții
definit în volumul System Interfaces din POSIX.1‐2008 a fost eliminat
(dezbrăcat). Dacă ambele −g și −s opțiunile sunt prezente, acțiunea întreprinsă este
nespecificat.
−o outfile
Utilizați calea outfile, în loc de cea implicită a.out, pentru fișierul executabil
produs. Dacă −o opțiunea este prezentă cu −c, rezultatul este nespecificat.
−L director
Schimbați algoritmul de căutare a bibliotecilor numite în −l operanzi să se uite
în directorul numit de către director cale înainte de a căuta în mod obișnuit
locuri. Directoare numite în −L opțiunile vor fi căutate în cele specificate
Ordin. Cel puțin zece instanțe ale acestei opțiuni vor fi acceptate într-o singură
fort77 invocarea comenzii. Dacă un director specificat de a −L opțiunea conține a
fișier numit libf.a, rezultatele sunt nespecificate.
−O optlevel
Specificați nivelul de optimizare a codului. Dacă optlevel argument-opțiune este
cifră "0", toate optimizările speciale ale codului vor fi dezactivate. Dacă este cifra
"1", natura optimizării este nespecificată. Dacă −O opțiunea este omisă,
natura optimizării implicite a sistemului este nespecificată. Este
nespecificat dacă codul a fost generat în prezența −O Opțiunea 0 este
la fel ca cea generată când −O este omis. Alte optlevel valorile pot fi
sprijinit.
−w Suprimați avertismentele.
Exemple multiple de −L opțiunile pot fi specificate.
OPERANDE
An operand este fie sub forma unui nume de cale, fie sub formă −l bibliotecă. Cel puțin unul
va fi specificat operandul formei de cale. Următorii operanzi trebuie să fie
sprijinit:
fișier.f Calea unui fișier sursă FORTRAN care urmează să fie compilat și, opțional, transmis
editorul de linkuri. Operandul numelui de fișier va avea această formă dacă −c opțiunea este
folosit.
fișier.a O bibliotecă de fișiere obiect produse de obicei de ar, și a trecut direct la
editor de linkuri. Implementările pot recunoaște alte sufixe definite de implementare
decât .a ca desemnând biblioteci de fișiere obiect.
fișier.o Un fișier obiect produs de fort77 −c și transmis direct la editorul de linkuri.
Implementările pot recunoaște sufixe definite de implementare, altele decât .o as
care denotă fișierele obiect.
Procesarea altor fișiere este definită de implementare.
−l bibliotecă
(Litera ell.) Căutați în biblioteca numită:
libbibliotecă.a
O bibliotecă este căutată atunci când este întâlnit numele acesteia, deci plasarea unui −l
operandul este semnificativ. Mai multe biblioteci standard pot fi specificate în aceasta
mod, așa cum este descris în secțiunea DESCRIERE EXTINSĂ. Implementările pot
recunoașteți sufixele definite de implementare, altele decât .a ca desemnând biblioteci.
Stdin
Nefolosit.
INTRARE DOSARE
Fișierul de intrare trebuie să fie unul dintre următoarele: un fișier text care conține codul sursă FORTRAN;
un fișier obiect în formatul produs de fort77 −c; sau o bibliotecă de fișiere obiect, în
format produs prin arhivarea zero sau mai multe fișiere obiect, folosind ar. Implementările pot
furnizați utilități suplimentare care produc fișiere în aceste formate. Fișiere de intrare suplimentare
sunt definite de implementare.
A întâlnite în primele șase caractere de pe o linie de cod sursă va cauza
compilatorul să interpreteze următorul caracter ca și cum ar fi al șaptelea caracter pe
linia (adică în coloana 7).
MEDIUL VARIABILE
Următoarele variabile de mediu vor afecta execuția fort77:
LIMBA Furnizați o valoare implicită pentru variabilele de internaționalizare care sunt nesetate sau
nul. (A se vedea volumul Definiții de bază din POSIX.1‐2008, Secțiune 8.2,
Internaționalizare Variabile pentru prioritatea internaţionalizării
variabile utilizate pentru a determina valorile categoriilor locale.)
LC_ALL Dacă este setată la o valoare șir nevid, suprascrieți valorile tuturor celorlalte
variabile de internaţionalizare.
LC_CTYPE Determinați locația pentru interpretarea secvențelor de octeți de date text
ca caractere (de exemplu, caractere pe un singur octet, spre deosebire de caractere pe mai mulți octeți în
argumente și fișiere de intrare).
LC_MESSAGES
Determinați locația care ar trebui utilizată pentru a afecta formatul și conținutul
mesaje de diagnostic scrise la eroare standard.
NLSPATH Determinați locația cataloagelor de mesaje pentru procesarea LC_MESSAGES.
TMPDIR Determinați calea care ar trebui să înlocuiască directorul implicit pentru temporar
fișiere, dacă există.
ASINCRON EVENIMENTE
Implicit.
Stdout
Nefolosit.
Stderr
Eroarea standard va fi utilizată numai pentru mesajele de diagnosticare. Dacă mai mult de unul fişier
operand care se termină în .f (sau eventual alte sufixe nespecificate), pentru fiecare dintre ele
fișier:
„%s:\n”, <fişier>
pot fi scrise pentru a permite identificarea mesajului de diagnosticare cu cele adecvate
fișier de intrare.
Acest utilitar poate produce mesaje de avertizare cu privire la anumite condiții care nu garantează
returnând o valoare de ieșire de eroare (diferită de zero).
REZULTATE DOSARE
Fișierele obiect, fișierele de listă și fișierele executabile vor fi produse în mod nespecificat
formate.
EXTENDED DESCRIERE
Standard Biblioteci
fort77 utilitatea trebuie să recunoască următoarele −l operand pentru biblioteca standard:
−l f Această bibliotecă conține toate funcțiile la care se face referire în standardul ANSI X3.9-1978.
Acest operand nu trebuie să fie prezent pentru a provoca o căutare a acestuia
bibliotecă.
În absența opțiunilor care inhibă invocarea editorului de linkuri, cum ar fi −c,
fort77 utilitatea va cauza echivalentul a −l f operand care urmează să fie transmis link-ului
editor ca ultimul −l operand, făcându-l să fie căutat după toate celelalte fișiere obiect și
bibliotecile sunt încărcate.
Nu se specifică dacă biblioteca libf.a există ca fișier obișnuit. Implementarea
poate accepta ca −l operanzi nume de obiecte care nu există ca fișiere obișnuite.
Extern Simboluri
Compilatorul FORTRAN și editorul de linkuri vor susține semnificația simbolurilor externe
la o lungime de cel puțin 31 de octeți; plierea carcasei este permisă. Acțiunea luată asupra
întâlnirea simbolurilor care depășesc lungimea maximă a simbolului definită de implementare este
nespecificat.
Compilatorul și editorul de linkuri trebuie să accepte cel puțin 511 simboluri externe per sursă sau
fișier obiect și un minim de 4095 de simboluri externe în total. Este scris un mesaj de diagnosticare
la ieșirea standard dacă limita definită de implementare este depășită; alte actiuni sunt
nespecificat.
EXIT STAREA
Următoarele valori de ieșire vor fi returnate:
0 Compilare reușită sau editare a linkului.
>0 A apărut o eroare.
CONSECINȚE OF ERORI
Cand fort77 întâmpină o eroare de compilare, va scrie o eroare standard de diagnosticare
și continuați să compilați alți operanzi de cod sursă. Va returna o ieșire diferită de zero
stare, dar este definit de implementare dacă este creat un modul obiect. Dacă linkul
editarea nu a reușit, va fi scris un mesaj de diagnosticare la eroare standard și fort77
va ieși cu un statut diferit de zero.
următor secțiuni sunt informativ.
APLICARE UTILIZARE
Nici unul.
EXEMPLE
Următorul exemplu de utilizare este compilat xyz.f și creează fișierul executabil foo:
fort77 −o foo xyz.f
Următorul exemplu compilează xyz.f și creează fișierul obiect xyz.o:
fort77 −c xyz.f
Următorul exemplu compilează xyz.f și creează fișierul executabil a.out:
fort77 xyz.f
Următorul exemplu compilează xyz.f, îl leagă cu bo, și creează executabilul a.out:
fort77 xyz.f bo
FUNDAMENTARE
Numele acestui utilitar a fost ales ca fort77 pentru a paralela redenumirea compilatorului C.
Numele f77 nu a fost ales pentru a evita problemele cu implementările istorice. The
Standardul ANSI X3.9‐1978 a fost selectat ca referință normativă deoarece versiunea ISO/IEC
din FORTRAN-77 a fost înlocuit de standardul ISO/IEC 1539:1991.
Includerea fișierului și definiția simbolului #defini mecanismele utilizate de c99 utilitatea au fost
nu sunt incluse în acest volum al POSIX.1‐2008 — chiar dacă sunt implementate în mod obișnuit—
deoarece nu există nicio cerință ca compilatorul FORTRAN să utilizeze preprocesorul C.
−o călătorie opțiunea nu a fost inclusă în acest volum al POSIX.1‐2008, deși multe
compilatorii istorici îl susțin, deoarece este derivat din FORTRAN-66; este un
anacronism care nu trebuie perpetuat.
Unele implementări produc liste de compilare. Acest aspect al FORTRAN a fost lăsat
nespecificat deoarece a existat controverse cu privire la diferitele metode propuse pentru
implementarea acestuia: a −V opțiunea s-a suprapus cu practica istorică a furnizorului și cu o denumire
convenția de creare a fișierelor cu .l sufixele s-au ciocnit cu istoricul Lex denumirea fișierelor
practică.
Nu este −Eu opțiunea din această versiune a acestui volum de POSIX.1‐2008 pentru a specifica a
director pentru includerea fișierelor. O directivă INCLUDE a făcut parte din Fortran-90
discuții, dar o interfață care sprijină acel standard nu este în domeniul actual.
Este de notat că multe compilatoare FORTRAN produc un modul obiect chiar și atunci când sunt compilate
apar erori; în timpul unei compilări ulterioare, compilatorul poate patch modulul obiect
mai degrabă decât recompilarea întregului cod. În consecință, este lăsat la latitudinea implementatorului dacă
sau nu este creat un fișier obiect.
O referire la MIL-STD-1753 a fost eliminată dintr-o propunere timpurie ca răspuns la o solicitare
de la dezvoltatorii standard de legare POSIX FORTRAN. Nu a fost intenția
dezvoltatorii standard să solicite certificarea compilatorului FORTRAN și
IEEE Std 1003.9‐1992 nu specifică standardul militar sau vreo preprocesare specială
cerințe. În plus, utilizarea acelui document ar fi fost inadecvată pentru un
standard international.
Specificația de optimizare a fost supusă modificărilor prin propuneri timpurii. La
o data, −O și −N au fost booleeni: optimizați și nu optimizați (cu un
Mod implicit). Unele practici istorice au determinat ca aceasta să fie schimbată în:
−O 0 Nicio optimizare.
−O 1 Un anumit nivel de optimizare.
−O n Alte niveluri de optimizare, nespecificate.
Nu este întotdeauna clar dacă „generarea de cod bună” este același lucru cu optimizarea.
Optimizările simple ale acțiunilor locale nu afectează de obicei semantica unui program.
−O Opțiunea 0 a fost inclusă pentru a se adapta naturii foarte particulare a științificului
calcule într-un mediu extrem de optimizat; compilatorii fac erori. Un anumit grad de
optimizarea este de așteptat, chiar dacă nu este documentată aici, și capacitatea de a o închide
dezactivat complet ar putea fi important atunci când portați o aplicație. O implementare poate trata
−O 0 ca „fă mai puțin decât în mod normal” dacă dorește, dar acest lucru are sens numai dacă oricare dintre
operațiunile pe care le efectuează pot afecta semantica unui program. Este foarte dependent de
implementarea dacă a face mai puțin decât în mod normal este logică. Nu este intentia
−O 0 opțiune pentru a solicita generarea ineficientă a codului, ci mai degrabă pentru a asigura că există
optimizarea vizibilă semantic este suprimată.
Specificația accesului standard la bibliotecă este în concordanță cu compilatorul C
specificație. Implementările nu trebuie să aibă /usr/lib/libf.a, tot atâtea
implementările istorice fac, dar dacă nu sunt obligate să recunoască f ca semn.
Limitele de dimensiune a simbolurilor externe sunt în textul normativ; aplicațiile conforme trebuie să știe
aceste limite. Cu toate acestea, lungimea minimă maximă a simbolului ar trebui luată ca o constrângere
pe o aplicație conformă, nu pe o implementare și, în consecință, asupra acțiunii întreprinse
pentru un simbol care depășește limita este nespecificat. Dimensiunea minimă pentru simbolul extern
tabelul a fost adăugat din motive similare.
Secțiunea CONSECINȚELE ERORILOR specifică clar comportamentul compilatorului când
apar erori de compilare sau de editare a linkurilor. Comportamentul mai multor implementări istorice
a fost examinat și a fost făcută alegerea de a fi tăcut cu privire la starea executabilului sau
a.out, fișier în fața erorilor de compilator sau de linker. Dacă un linker scrie executabilul
fișier, apoi îl conectează pe disc cu lseek()s și scrie()s, executabilul parțial legat
fișierul poate fi lăsat pe disc și biții săi de execuție dezactivați dacă editarea linkului eșuează. In orice caz,
dacă linkerul leagă imaginea în memorie înainte de a scrie fișierul pe disc, nu trebuie să atingă
fișierul executabil (dacă există deja) deoarece editarea linkului eșuează. Din moment ce ambele
abordările sunt o practică istorică, o aplicație conformă se va baza pe statutul de ieșire
of fort77, mai degrabă decât pe existența sau modul fișierului executabil.
−g și −s opțiunile nu sunt specificate ca fiind excluse reciproc. Din punct de vedere istoric, acești doi
Opțiunile s-au exclus reciproc, dar pentru că ambele sunt atât de puțin specificate, se părea
potrivit pentru a lăsa interacțiunea lor nespecificată.
Cerința ca aplicațiile conforme să specifice opțiunile compilatorului separat este de a
rezervați spațiul de nume al opțiunii cu mai multe caractere pentru opțiunile compilatorului specifice furnizorului, care
sunt cunoscute că există în multe implementări istorice. Implementările nu sunt obligatorii
recunoaște, de exemplu, −gc de parcă ar fi −g −c; nici nu le este interzis să facă acest lucru. The
SINOPSIS arată toate opțiunile separat pentru a evidenția această cerință
aplicatii.
Echoul numelor de fișiere la eroare standard este considerat un mesaj de diagnostic, deoarece ar fi
în caz contrar, este dificil să asociezi un mesaj de eroare cu fișierul greșit. Sunt
descrise cu ``poate'' pentru a permite implementărilor să folosească alte metode de identificare a fișierelor
și să paralele cu descrierea în c99.
VIITOR INSTRUCTIUNI
Un sistem de compilare bazat pe standardul ISO/IEC 1539:1991 poate fi luat în considerare pentru a
versiunea viitoare; poate avea un nume de utilitar diferit de fort77.
Utilizați fort77posix online folosind serviciile onworks.net