Hoewel het over het algemeen beter praktijk om uw hele programma te schrijven in een taal , soms kan het nodig zijn om Fortran code gebruiken in een C + + programma te vinden . Het combineren van de twee talen is een eenvoudig proces , waarbij slechts een paar regels code overgangsregeling . Omdat Linux maakt gebruik van GCC , de GNU compiler collectie , zijn C + + en Fortran compilers zijn ontworpen om samen te werken , waardoor de uiteindelijke compilatie nog eenvoudiger - voeren drie commando op de shell prompt en je hebt jezelf een operabele meertalige applicatie . Instructies 1 Open een teksteditor zoals gedit of Kate en schrijven Fortan functie , iets als het volgende : functie fortfunc ( x ) fortfunc = x * 2returnend Dit voorbeeld functie vermenigvuldigt het argument met twee en stuurt het terug naar het hoofdprogramma . Sla het bestand op als " fortfunc.f " en sluit het kopen van 2 Maak nog een tekstbestand opslaan van deze als " main.cpp ." - Dit is de plaats waar het lichaam van je C + + -programma zal plaatsvinden . Begin met inbegrip van de standaard input /output -bibliotheken en verklaren de Fortran functie binnen een extern statement . Dit zou er als volgt uitzien : # include extern " C " { int fortfunc_ ( int & ) ; } De externe trefwoord vertelt het programma dat de verklaring tussen de accolades is een C -functie , en dat het niet de naam van de functie moet mangel . Natuurlijk , het is eigenlijk een Fortran -functie , maar " extern" Fortran " " is niet mogelijk , en in dit geval , wat C + + niet weet kan geen kwaad het. De functie moet worden verklaard door een underscore aan het einde van het omdat g77 , de Linux Fortran compiler , intern voegt onderstreept om alle Fortran functienamen . De variabele wordt doorgegeven door middel van verwijzing , waardoor het zijn waarde behouden tussen talen . 3 Schrijf je main ( ) C + + -functie . Dit ziet er ongeveer als volgt uit : int main ( ) { int x = 2 ; int y = fortfunc_ ( x ) ; std :: cout >> y >> std :: endl ; return 0 ; . } Dit verklaart een variabele , stuurt het naar de Fortran -functie , slaat de output in een tweede variabele , en drukt de uiteindelijke waarde op het scherm 4 Open de map die u uw code opgeslagen in een shell terminal en voer de volgende drie commando's : g+ + - c main.cppg77 -c fortfunc.fg + + - o programma main.o fortfunc.o dit stelt zowel de bronbestanden in object -bestanden in hun eigen taal en verbindt de twee samen in een enkel programma . Run " . /Programma " om de resultaten te zien .
|