Alors qu'il est généralement meilleure pratique pour écrire votre programme entier en une seule langue , parfois, vous trouverez peut-être nécessaire d' utiliser le code Fortran dans un programme C + + . La combinaison des deux langues est un processus simple, ne nécessitant que quelques lignes de code de transition. Parce que Linux utilise GCC , le compilateur GNU collection , son C + + et Fortran sont conçus pour fonctionner ensemble , ce qui rend la compilation finale encore plus simple - entrer trois commandes à l'invite du shell et vous avez vous-même une application multilingue accessible. Instructions
1
Ouvrez un éditeur de texte tel que gedit ou Kate et écrire une fonction Fortan , quelque chose comme ce qui suit:
fonction fortfunc (x) = x * fortfunc 2returnend
fonction Cet exemple se multiplie par deux l'argument et renvoie au programme principal . Enregistrez le fichier sous " fortfunc.f " et fermez-le
2
Créer un autre fichier texte , sauvant celui-ci comme " main.cpp " - . C'est là que le corps de votre programme C + + sera avoir lieu . Commencez par y compris les bibliothèques d'entrée /sortie standard et déclarer la fonction Fortran dans une instruction externe . Cela devrait ressembler à ce qui suit:
# include extern "C" {int fortfunc_ (int &); }
Le mot-clé extern est révélateur du programme que la déclaration entre les accolades est une fonction C , et qu'il ne devrait pas mutiler le nom de la fonction . Bien sûr , c'est en fait une fonction Fortran, mais " externe " Fortran "" n'est pas possible, et dans ce cas , ce que C + + ne savent pas ne pas le blesser . La fonction doit être déclarée avec un trait de soulignement à la fin de celui-ci , car G77 , le compilateur Fortran Linux, ajoute interne souligne à tous les noms de fonctions Fortran . La variable est passé par référence , ce qui lui permet de garder sa valeur entre les langues.
3
Écrivez votre main () C + + fonction . Cela devrait ressembler à ce qui suit:
int main () {int x = 2; int y = fortfunc_ (x); std :: cout >> y >> std :: endl; return 0; . }
déclare une variable , l'envoie à la fonction Fortran, enregistre la sortie dans une seconde variable, et imprime la valeur finale sur l'écran
4
ouverte le répertoire que vous avez enregistré votre code dans un terminal shell et entrez les trois commandes suivantes :
g+ + -c main.cppg77 -c fortfunc.fg + + -o programme main.o fortfunc.o
cette compile les fichiers source dans des fichiers objets dans leurs langues et relie les deux ensemble dans un seul programme respectifs. Exécuter " /programme. " Pour voir les résultats .