Gå til innhold

Strenger i Fortran


Anbefalte innlegg

Hei!

 

Først: Jeg er klar over at dette er et C(++)-forum, men jeg poster likevel her fordi jeg regner med at det er det mest teknisk kompetente underforumet. Videre har jeg tenkt å sammenlikne med eksempler fra C, som er det språket jeg kjenner best...

Jeg har da endelig blitt innhentet av FORTRAN-spøkelset, og fått en kildekodefil med 70k linjer, skrevet i en blanding av F90(?) med fixed-form (hullkort)-syntax og en helt spesiell preprosessor som noen fant opp på 80-tallet, samt et særegent kompileringssystem. Programmet er forøvrig SIXTRACK aka "LHC@home", som noen av dere kanskje kjenner. Med andre ord.: Høyverdig fysikerkode av beste slag. Så da var det på tide å sette seg ned å lære dette språket skikkelig.

Språket i seg selv er egentlig veldig rett frem, men det er en ting jeg ikke forstår, selv etter mangt et google-søk: Hvordan er egentlig strenger, dvs*.

      CHARACTER*LENGTH :: navn = "initialisering"

representert i minnet? Når jeg printer denne, så blir den paddet ut til LENGTH, men dersom jeg bruker TRIM() først, så fjerner den paddingen på slutten... Hvordan blir egentlig lengden lagret? Den bruker tydeligvis ikke '\0'-terminering, ettersom man må huske på å sende med dette dersom man kaller C-kode.

 

--- Kyrsjo, som vurderer å la skjegget gro og farge det grått, samt skaffe et par digre 80-talls briller...

*) Ja, det skal være minst seks blanke kolonner forran koden, med mindre det er er en C (kommentar) i kolonne 1, en GOTO-label (heltall) i kolonne 2-5, eller en & (continuation fra forrige linje - maks linjelengde for kode = 80 tegn) i kolonne 6). :shrug:

EDIT: Staving

Endret av kyrsjo
Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...