Mentre è generalmente migliore pratica di scrivere l'intero programma in una sola lingua , a volte si può essere necessario utilizzare il codice Fortran in un programma C + + . Combinando le due lingue è un processo semplice , che richiede solo poche righe di codice di transizione . Perché Linux usa GCC , la collezione di compilatori GNU , il C + + e Fortran sono progettati per lavorare insieme , rendendo la compilazione finale ancora più semplice - inserire tre comandi al prompt della shell e lei stesso hai un'applicazione multilingua operabile . Istruzioni
1
Aprire un editor di testo come gedit o Kate e scrivere una funzione Fortan , qualcosa di simile al seguente:
funzione fortfunc ( x ) = x * fortfunc
2returnend
funzione Questo esempio moltiplica l'argomento per due e lo restituisce al programma principale . Salvare il file come " fortfunc.f " e chiuderlo
2
creare un altro file di testo , salvare questo come " main.cpp ." - Questo è dove il corpo del programma C + + avvenire . Inizia includendo le librerie di input /output standard e dichiarare la funzione Fortran all'interno di un'istruzione extern . Questo dovrebbe essere simile al seguente :
# include extern "C" { int fortfunc_ ( int & ) ; }
La parola chiave extern sta dicendo il programma che la dichiarazione tra le parentesi graffe è una funzione C , e che non devono manipolare il nome della funzione . Naturalmente , in realtà è una funzione Fortran , ma " extern " Fortran " " Non è possibile, e in questo caso , quello che C + + non so non fargli male . La funzione deve essere dichiarata con un carattere di sottolineatura alla fine di esso , perché g77 , il compilatore Fortran Linux , aggiunge internamente sottolineatura di tutti i nomi delle funzioni Fortran . La variabile viene passato per riferimento , permettendo così di mantenere il suo valore tra le lingue .
3
Scrivi il tuo main () C + + funzione . Questo dovrebbe essere simile alla seguente :
int main ( ) { int x = 2; int y = fortfunc_ ( x ) ; std :: cout >> y >> std :: endl; return 0; . }
Questo dichiara una variabile , lo invia alla funzione Fortran , salva l'output in una seconda variabile , e stampa il valore finale sullo schermo
4
Aperto la directory è stato salvato il codice di shell in un terminale e digitare i seguenti tre comandi :
g+ + - c - c main.cppg77 fortfunc.fg + programma + -o main.o fortfunc.o
questo compila entrambi i file di origine in file oggetto nelle loro rispettive lingue e unisce i due insieme in un unico programma . Esegui " . /Programma " per vedere i risultati .