Även om det är generellt bättre metoder för att skriva din hela programmet i ett enda språk , ibland kan det vara nödvändigt att använda Fortran -kod i ett C + + -program . Kombinera de två språken är en enkel process , som kräver bara några rader övergångsperiod kod . Eftersom Linux använder GCC , GNU -kompilatorn samlingen , dess C + + och Fortran kompilatorer är utformade för att fungera tillsammans , vilket gör den slutliga sammanställningen ännu enklare - ange tre kommandon vid prompten och du har själv en manövrerbar flerspråkig applikation . Instruktioner
1
Öppna en textredigerare som gedit eller Kate och skriva en Fortan funktion , något som följande :
funktion fortfunc ( x ) fortfunc = x * 2returnend
Detta exempel funktionen multiplicerar argumentet med två och återgår till huvudprogrammet . Spara filen som " fortfunc.f " och stäng den
2
Skapa en annan textfil , spara den här som " main.cpp " - . Detta är där kroppen av din C + + -program kommer äga rum. Börja med inklusive standard input /output bibliotek och förklara Fortran funktion inom en extern uttalande . Det ska se ut som följande :
# include extern " C " { int fortfunc_ ( int & ) ; }
extern nyckelordet säger programmet att deklarationen mellan klammerparentesen är en C-funktion , och att den inte bör mangel funktionsnamnet. Visst , det är faktiskt ett Fortran -funktion , men " extern " Fortran " " inte är möjligt , och i det här fallet , vad C + + inte vet inte kommer att skada det . Funktionen måste deklareras med ett understreck i slutet av det eftersom G77 , Linux Fortran kompilatorn , internt lägger understryker att alla Fortran funktionsnamn . Variabeln passeras genom hänvisning , att låta den behålla sitt värde mellan språken . Skriv din main () C + + -funktionen
3
. Det ska se ut ungefär så här :
main
int ( ) { int x = 2 ; int y = fortfunc_ ( x ) , std :: cout >> y >> std :: endl ; avkastning 0; . }
Detta deklarerar en variabel , skickar den till Fortran -funktionen sparar resultatet i en andra variabel , och skriver det slutliga värdet på skärmen
4
Open den katalog du sparade din kod i ett skal terminal och skriv in följande tre kommandon :
g+ + - c main.cppg77 - c fortfunc.fg + + - o program main.o fortfunc.o
detta sammanställer både källfilerna till objektfiler i sina respektive språk och länkar de två tillsammans i ett enda program . Kör " . /Program " för att se resultatet .