Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να χρησιμοποιήσετε Fortran σε C + + Linux

Ενώ είναι γενικά η καλύτερη πρακτική για να γράψετε ολόκληρο το πρόγραμμα σας σε μία μόνο γλώσσα , μερικές φορές μπορείτε να βρείτε ότι είναι απαραίτητο να χρησιμοποιήσετε Fortran κώδικα σε C ​​+ + πρόγραμμα . Συνδυάζοντας τις δύο γλώσσες είναι μια απλή διαδικασία, που απαιτεί μόνο λίγες γραμμές κώδικα μεταβατική . Επειδή το Linux χρησιμοποιεί GCC , η συλλογή μεταγλωττιστή GNU , της C + + και Fortran μεταγλωττιστές σχεδιαστεί για να εργαστούν από κοινού , καθιστώντας το τελικό συλλογή ακόμα πιο απλή - εισάγετε τρεις εντολές στο προτρεπτικό του κελύφους και έχετε τον εαυτό σας μια λειτουργική εφαρμογή σε πολλές γλώσσες . Οδηγίες
Η

1 Ανοίξτε ένα πρόγραμμα επεξεργασίας κειμένου όπως το gedit ή Kate και να γράψει ένα Fortan λειτουργία , κάτι σαν το παρακάτω :

fortfunc λειτουργία ( x ) = x fortfunc * 2returnend

Αυτή η λειτουργία παράδειγμα πολλαπλασιάζει το επιχείρημα από δύο και επιστρέφει στο κυρίως πρόγραμμα . Αποθηκεύστε το αρχείο ως " fortfunc.f " και κλείστε το 2

Δημιουργήστε ένα άλλο αρχείο κειμένου , εξοικονομώντας αυτό το ένα ως " main.cpp " - . Αυτό είναι όπου το σώμα σας C + + πρόγραμμα θα λάβει χώρα . Αρχίστε με τη συμπερίληψη στις πρότυπες βιβλιοθήκες εισόδου /εξόδου και να κηρύξει την Fortran λειτουργία εντός extern δήλωση. Αυτό θα πρέπει να μοιάζει με το παρακάτω :

# include extern "C" { int fortfunc_ ( int & ) ? }

Η extern λέξη-κλειδί λέει το πρόγραμμα ότι η δήλωση των τα άγκιστρα είναι μια συνάρτηση C , και ότι δεν θα πρέπει να διαμελίζουν το όνομα της συνάρτησης . Φυσικά , αυτό είναι πραγματικά ένα Fortran λειτουργία, αλλά " extern " Fortran " " δεν είναι δυνατόν , και σε αυτή την περίπτωση , τι C + + δεν ξέρω, δεν θα το βλάψει . Η λειτουργία αυτή πρέπει να δηλωθεί με μια κάτω παύλα στο τέλος του επειδή G77 , ο compiler Linux Fortran , προσθέτει εσωτερικά υπογράμμισης σε όλους Fortran ονόματα συναρτήσεων . Η μεταβλητή έχει περάσει από αναφορά , επιτρέποντάς της να κρατήσει την αξία του μεταξύ των γλωσσών .
Εικόνων 3

Γράψτε το main ( ) C + + λειτουργία . Αυτό πρέπει να δούμε κάτι σαν το παρακάτω :

int main ( ) { int x = 2 ? Int y = fortfunc_ ( x ) ? Std :: cout >> y >> std :: endl ? επιστροφή 0? }

Αυτό δηλώνει μια μεταβλητή , που στέλνει στην Fortran λειτουργία , το αποτέλεσμα αποθηκεύεται σε μια δεύτερη μεταβλητή , και εκτυπώνει την τελική τιμή στην οθόνη
Η 4

Open . ο κατάλογος που έσωσε τον κωδικό σας σε ένα τερματικό τερματικό και εισάγετε τις ακόλουθες τρεις εντολές :

g+ + -c -c main.cppg77 fortfunc.fg + + -o προγράμματος main.o fortfunc.o

Αυτό συγκεντρώνει τα δύο αρχεία προέλευσης σε αρχεία αντικείμενο στις αντίστοιχες γλώσσες τους και συνδέει τα δύο μαζί σε ένα ενιαίο πρόγραμμα . Run " . /Πρόγραμμα " για να δείτε τα αποτελέσματα .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα