Aunque en general es mejor la práctica de escribir todo el programa en un solo idioma , a veces puede que le resulte necesario el uso de código de Fortran en un programa de C + + . La combinación de las dos lenguas es un proceso simple, que requiere sólo unas pocas líneas de código de transición. Debido a que Linux utiliza GCC , la colección de compilador GNU , el C + + y los compiladores de Fortran están diseñados para trabajar juntos, hacer la compilación final aún más simple - introducir tres comandos en la shell y usted se tiene una aplicación multilenguaje operable. Instrucciones
1
Abra un editor de texto como gedit o Kate y escribir una función Fortan , algo como lo siguiente :
función fortfunc (x ) = x * fortfunc 2returnend
función de este ejemplo se multiplica por dos el argumento y lo devuelve al programa principal . Guarde el archivo como " fortfunc.f " y cerrarlo
2
Crear otro archivo de texto , el ahorro de ésta como " main.cpp " - . Aquí es donde el cuerpo de su programa de C + + se llevará a cabo. Comience incluyendo las librerías de entrada /salida estándar y declarar la función Fortran en una instrucción extern . Esto debería ser similar al siguiente :
# include extern "C " { int fortfunc_ ( int & ) ;}
La palabra clave extern dice el programa que la declaración entre las llaves es una función C, y que no deberían destrozar el nombre de la función . Por supuesto , en realidad es una función de Fortran , pero " extern" Fortran ", " no es posible, y en este caso , lo que C + + no sabe no le hará daño a ella. La función se debe declarar con un guión bajo al final de ella porque g77 , el Linux compilador Fortran , añade internamente subraya que todos los nombres de las funciones de Fortran . La variable se pasa por referencia , lo que le permite mantener su valor entre idiomas.
3
Escriba su función main () C + + . Esto debería ser algo como lo siguiente:
int main () { int x = 2 ; int y = fortfunc_ ( x); std :: cout >> y >> std :: endl ; return 0; . }
Esto declara una variable, lo envía a la función de Fortran, guarda la salida en una segunda variable , e imprime el valor final de la pantalla
4
abierto el directorio que guardó su código en un terminal de shell y escriba los siguientes tres comandos :
g+ +- c -c main.cppg77 fortfunc.fg + + -o programa main.o fortfunc.o
esto compila dos archivos de código fuente en archivos de objetos en sus respectivos idiomas y enlaces a los dos juntos en un solo programa . Ejecutar " . /Program " para ver los resultados.