Mens det er generelt bedre praksis å skrive hele programmet på ett språk , noen ganger kan det være nødvendig å bruke Fortran kode i en C + + program . Ved å kombinere de to språkene er en enkel prosess, som krever bare noen få linjer med overgangsstønad kode . Fordi Linux bruker GCC , samlingen av GNU kompilatorer , sin C + + og Fortran kompilatorer er laget for å fungere sammen , noe som gjør den endelige samling enda enklere - skriv tre kommandoer ved shell prompt og du har fått deg en operativ multilanguage søknad. Instruksjoner
en
Åpne en tekst editor som gedit eller Kate og skrive en Fortan funksjon, noe som følgende : en
funksjon fortfunc ( x ) fortfunc = x * 2returnend
Dette eksemplet funksjonen multipliserer argumentet etter to og returnerer det til hovedprogrammet. Lagre filen som " fortfunc.f " og lukk det
2
Opprett en tekstfil , lagre denne som " main.cpp " - . Det er der kroppen av C + + -programmet vil finne sted . Begynn ved å inkludere standard input /output biblioteker og erklære Fortran funksjon i en ekstern uttalelse. Dette bør se ut som følgende : en
# include extern "C " { int fortfunc_ ( int &) ;}
eksternt søkeordet forteller programmet at erklæringen mellom klammeparentes er en C -funksjon , og at det ikke skal mangle funksjonsnavnet . Selvfølgelig , det er faktisk en Fortran funksjon, men "ekstern " Fortran " " er ikke mulig , og i dette tilfellet , hva C + + ikke vet vil ikke skade det. Funksjonen må deklareres med en understrekning på slutten av det fordi G77 , Linux Fortran kompilator, internt legger understreker til alle Fortran funksjon navn . Variabelen er vedtatt av referanse, slik at det å beholde sin verdi mellom språk.
3
Skriv din main ( ) C + + funksjon. Dette skal se omtrent slik ut : en
int main ( ) { int x = 2 ; int y = fortfunc_ ( x ) ; std :: cout >> y >> std :: endl ; return 0 ; . }
p Dette erklærer en variabel , sender den til Fortran -funksjonen , lagrer resultatet i en annen variabel , og skriver ut den endelige verdien på skjermen
4
Åpen katalogen du lagret koden i et skall terminal og skriv følgende tre kommandoer:
g+ + - c main.cppg77 - c fortfunc.fg + + -o -program main.o fortfunc.o
dette kompilerer begge kildefilene til objekt-filer i sine respektive språk og linker til to sammen til ett program . Kjør " . /Program " for å se resultatene.