Während es in der Regel bessere Praxis auf das gesamte Programm in einer einzigen Sprache zu schreiben, manchmal können Sie finden es notwendig, Fortran -Code in einem C + + -Programm verwenden. Die Kombination der beiden Sprachen ist ein einfacher Prozess, der nur ein paar Zeilen Code Übergangszeit . Weil Linux nutzt GCC , die GNU -Compiler-Sammlung seiner C + + und Fortran-Compiler sind entworfen, um zusammen zu arbeiten , so dass die endgültige Zusammenstellung noch einfacher - geben drei Befehle am Shell-Prompt und Sie haben sich ein einsatzbereites mehrsprachige Anwendung . Anleitung
1
Öffnen Sie einen Text -Editor wie gedit oder Kate und schreiben Sie eine Fortan Funktion , etwa wie folgt :
Funktion fortfunc (x) = x * fortfunc 2returnend
Dieses Beispiel Funktion multipliziert das Argument durch zwei und gibt sie an das Hauptprogramm . Speichern Sie die Datei als " fortfunc.f " und schließen Sie es
2
Erstellen Sie eine weitere Textdatei , spart diese ein als " main.cpp " - . Dies ist , wo der Körper des C + +-Programm wird stattfinden . Beginnen Sie , indem Sie die Standard Input /Output -Bibliotheken und erklären die Fortran -Funktion innerhalb eines extern Aussage. Dies sollte wie folgt aussehen :
# include extern "C " {int fortfunc_ ( int & );}
Das Schlüsselwort extern sagt das Programm , dass die Erklärung zwischen die geschweiften Klammern ist eine C-Funktion , und dass es nicht mangle den Namen der Funktion . Natürlich , es ist eigentlich ein Fortran -Funktion, aber " extern" Fortran " " nicht möglich ist, und in diesem Fall, was C + + nicht weiß, wird es nicht schaden . Die Funktion muss mit einem am Ende es unterstreichen , weil g77 , die Linux Fortran Compiler intern fügt unterstreicht allen Fortran Funktion Namen deklariert werden. Die Variable wird als Verweis übergeben , so dass sie ihren Wert zwischen den Sprachen zu halten.
3
Schreiben Sie Ihre main () C + + -Funktion. Dies sollte in etwa wie folgt aussehen:
int main () { int x = 2; int y = fortfunc_ (x); std :: cout >> y >> std :: endl; return 0; . }
deklariert eine Variable , sendet sie an die Fortran -Funktion speichert die Ausgabe in einer zweiten Variablen , und druckt den endgültigen Wert auf dem Bildschirm
4
öffnen das Verzeichnis, das Sie Ihren Code gespeichert , in einer Shell-Terminal und geben Sie die folgenden drei Befehle :
g+ + -c -c main.cppg77 fortfunc.fg + + -o Programm main.o fortfunc.o
Dies kompiliert beide Quelldateien in Objekt-Dateien in ihren jeweiligen Sprachen und Links die beiden zusammen in einem einzigen Programm . Ausführen ". /Programm ", um die Ergebnisse zu sehen.