G95 projektets mål er at skabe et gratis, open source Fortran 95 compiler. Koden er blevet doneret til Free Software Foundation til optagelse i GCC, den Gnu Compiler Collection.
G95 er stadig i en beta tilstand. G95 kan kompilere fleste Fortran 90/95 programmer fint på en lang række forskellige platforme.
Grundlæggende muligheder:
-c Kompiler kun ikke køre linker.
-o Angiv navnet på output filen, enten et objekt fil eller den eksekverbare.
Flere kilde- og objektfiler kan angives på én gang. Fortran filer er angivet med navne der ender på ".f", ".F", ".for", ".For", ".f90", ".F90", ".f95", ".F95", ". F03 "og" .F03 ". Flere kildefiler kan angives. Objekt filer kan specificeres som godt og vil blive knyttet til at danne en eksekverbar.
Filer der ender med store bogstaver er forbehandles med C præprocessor som standard, er filer der ender på små bogstaver ikke forbehandlet som standard.
Filer der ender på ".f", ".F", ".for" og ".Ved" antages at blive fastsat formular kilde kompatibel med gamle F77 filer. Filer der ender på ".f90", ".F90", ".f95", ".F95", ".f03" og ".F03" antages at være fri kilde form.
Simple eksempler:
G95 -c hello.f90 Kompilerer hello.f90 til et objekt fil med navnet hello.o.
G95 hello.f90 Kompilerer hello.f90 og forbinder den til at producere en eksekverbar a.out.
G95 -c h1.f90 h2.f90 h3.f90 indsamler flere kildefiler. Hvis alt går vel, objekt filer h1.o, h2.o og h3.o er skabt.
G95 -o hello h1.f90 h2.f90 h3.f90 Kompilerer flere kildefiler og forbinder dem sammen til en eksekverbar fil med navnet "hello '.
Præprocessortilvalg
G95 kan håndtere filer, der indeholder C-præprocessortilvalg konstruktioner.
-cpp Tving input filer, der skal løbe gennem C præprocessor
-ingen-cpp Forhindre input filer fra at blive forbehandlet
-Dname [= Værdi] Definer en præprocessor makro
-Uname Udefineret en præprocessor makro
-E Vis kun forbehandlet kilde
-Idirectory Append 'mappe' til omfatte og modul filer søgesti. Filerne søgt efter i forskellige mapper i denne rækkefølge: Register over den vigtigste kilde fil, den aktuelle mappe, mapper specificeret af -I, mapper angivet i variablen G95_INCLUDE_PATH miljø og endelig systemet mapper.
-traditionelle Udfører traditionel C forbehandling (standard)
-nontraditional Udfører moderne C forbehandling
Fortran muligheder
-Wall Aktiver fleste advarsler
-Werror Skift advarsler til fejl
-Wextra Aktiver advarsel ikke aktiveret som -Wall
-Wglobals Cross-kontrol procedure anvendelse og definition inden for samme kildefil. Som standard, brug -Wno-globals at deaktivere.
-Wimplicit-Ingen Samme som -fimplicit-none
-Wimplicit-Interfacet Advar om brug en implicit grænseflade
-Wline-Trunkering Advar om trunkerede kildekodelinjer
-Wmissing-Hensigt Advar om manglende hensigter på format argumenter
-Wobsolescent Advar om forældede konstruktioner
-Wno = Tal Deaktiver en kommasepareret liste af tal advarsel
-Wuninitialized Advar om variabler, der bruges før initialiseret. Kræver -O2
-Wunused-Vars Advar om ubrugte variabler
-Wunused-Typer Advar om ubrugte modul typer. Ikke antydes af -Wall
-Wunset-Vars Advar om forsatte variabler
-Wunused-Modul-vars Advar om ubrugte modul variabler. Nyttigt for KUN klausuler
-Wunused-Modul-procs Advar om ubrugte modul procedurer. Nyttigt for KUN klausuler
-Wunused-Parameter Advar om ubrugte parametre. Ikke antydes af -Wall
-Wprecision-Tab Advar om præcision tab implicitte typen konverteringer
-fbackslash Fortolke backslashes karakter konstanter som escape koder. Brug -fno-backslash at behandle backslashes bogstaveligt.
-fd-kommentar Gør D linjer eksekverbare udsagn i fast form.
-fdollar-ok Tillad dollartegn i virksomhedens navne
-fendian = Tving endethed af uformateret læser og skriver. Værdien skal være "store" eller "lidt". Overrides miljøvariabler.
-ffixed-formen Antag at kildefilen er fikseret form
-ffixed-line-længde-132 132 tegn linjebredde i fast tilstand
-ffixed-line-længde-80 80 tegn linjebredde i fast tilstand
-ffree-formen Antag at kildefilen er fri form
-ffree-line-længde-store Tillad meget store kilde linjer (10k)
-fimplicit-ingen Angiv, at der ikke implicit skrive er tilladt, medmindre tilsidesættes af eksplicitte IMPLICITTE udsagn
-fintrinsic-extensions Aktiver G95-specifikke iboende funktioner selv i et -std = indstilling
-fintrinsic-extensions = PROC1, PROC2, ... Medtag valgt iboende funktioner selv i et -std = indstilling. Listen er kommasepareret og tilfælde ufølsom.
-fmod = bibliotek Put modul filer i mappen
-fmodule-private Set standard adgang til modul-enheder, PRIVATE
-fmultiple-save Lad SAVE tillægge angives flere gange
-fone-error force kompilering at stoppe efter den første fejl.
-ftr15581 Aktiver TR15581 allokerbare array-extensions selv i -std = F eller -std = F95 tilstande.
-M Fremstil en Makefile afhængighed linje på standard output
-std = F Advar om ikke-F funktioner
-std = f2003 Strict Fortran 2003 kontrol
-std = F95 Streng Fortran 95 kontrol
-i4 Set slags heltal uden specifikation til at slags = 4 (32 bit). Standard slags er uændrede.
-i8 Set slags heltal uden specifikation til at slags = 8 (64 bit). Standard slags er uændrede.
-R8 Set slags reals uden slags specifikationer til dobbelt præcision
-d8 Indebærer -i8 og -R8.
Kode generation muligheder
-fbounds-check-array og delstrengsøgning grænser ved runtime
-fcase-øvre gøre alle offentlige symboler store bogstaver
-fleading-understregningstegn Tilføj en førende underscore til offentlige navne
-fonetrip Udfør DO-sløjfer mindst én gang. (Buggy fortran 66)
-fpack afledt Prøv at layout afledte typer så kompakt som muligt. Kræver mindre hukommelse, men kan være langsommere
-fqkind = n Sæt den slags for en reel med "q" eksponent til n
-fsecond-understregningstegn Vedhæft en anden efterfølgende understregningstegn i navne med en understregning (standard). Brug -fno-sekund-understregning at undertrykke.
-fshort kredsløb Årsag .OG. og .eller. operatørerne ikke beregne den anden operand, hvis værdien af ekspressionen er kendt fra den første operand.
-fsloppy-char Undertryk fejl, når ikke-tegn data til karakter deskriptorer skriver
-fstatic Put lokale variable i statisk hukommelse, hvor det er muligt. Dette er ikke det samme som forbinder tingene statisk (-statisk).
-ftrace '-ftrace = ramme' indsætter koden for at tillade stack tracebacks om unormal afslutning program. Dette vil bremse dit program ned. '-ftrace = Fuld' derudover tillader at finde den linje antallet af aritmetiske undtagelser (langsommere). Standard er "-ftrace = none '.
-funderscoring Føj en efterfølgende understregningstegn i globale navne (standard). Brug -fno-understregning til at undertrykke.
-max-frame-size = n Hvor stor en enkelt stakrammen får før arrays tildeles dynamisk
-finteger = n Initialiser initialiseret skalar heltalsvariabler til n
-flogical = Initialiser initialiseret skalar logiske variabler. Lovlige værdier er ingen, sandt og falsk.
-freal = Initialiser initialiseret skalar reelle og komplekse variabler. Lovlige værdier er ingen, nul, nan, inf, + inf og -inf.
-fpointer = Initialiser skalar pointere. Lovlige værdier er ingen, null og ugyldig.
-fround = Controls kompilere tid afrunding. Lovlige værdier er nærmest, plus, minus og nul. Standard er rund til nærmeste, plus er rund til plus uendelig, minus er minus uendelig, nul er mod nul.
-fzero Initialiser numeriske typer til nul, at logiske værdier til falsk og pointere null. De andre initialisering muligheder tilsidesætte denne ene.
Software detaljer:
Kommentarer ikke fundet