4. Como usar Fortran bajo Linux

Detalles Prácticos

Para realizar los ejemplos y los ejercicios se requiere que se tenga instalado Linux (se recomienda una distribución reciente), o bien, se pueden hacer en el Laboratorio de la Escuela de Ciencias Físico-Matemáticas de la UMSNH, para este caso se necesita una cuenta en el servidor garota, la cual se puede tramitar con el responsable del laboratorio.

En este curso se usará Fortran bajo el sistema operativo Linux. Si no se tiene experiencia previa con Linux, se tendrán que aprender las bases por su propia cuenta. Se pueden ver algo de información en la siguiente  liga.

Si se tiene instalado Linux en algún equipo, hay bastantes posibilidades de que el compilador de Fortran 77 se encuentre disponible. Verificar tecleando

f77 --help
(teclearlo todo con mínúsculas). En caso de que se encuentre aparece una pantalla de ayuda, caso contrario puede aparecer un mensaje con la siguiente leyenda
command not found

Código fuente, código objeto, compilación y ligado

Un programa de Fortran consiste de texto plano (sin secuencias de control) que observa ciertas reglas (sintaxis). Este es llamado el código fuente. Se requiere usar un programa editor para escribir el código fuente. Los editores más comunes en el ambiente Unix son emacs y vi, pero pueden ser un poco complicados para usuarios novatos. Afortunadamente dentro del ambiente gráfico se pueden usar editores más amigables como xedit. Cuando se escriba un programa en Fortran, se deberá guardar en un archivo con la extensión .f o .for. Antes de que se pueda ejecutar el programa, se requiere traducir el programa en una forma legible para la máquina. Esto se hace con un programa especial conocido como compilador. El compilador de Fortran 77 es usualmente conocido como f77. La salida del compilador es un archivo con el nombre a.out por default, pero se puede escoger otro nombre si así se desea. Para ejecutar el programa, se deberá teclear el nombre del archivo ejecutable, por ejemplo a.out. (Esta parte esta un poco simplificada, ya que realmente el compilador traduce el código fuente en código objeto y entonces usando el ligador/cargador se genera un archivo ejecutable.)

Ejemplos:

En la sección anterior hay un pequeño código al principio. Copia el código en el editor que estes usando y guarda el archivo con el nombre circulo.for. Para compilarlo y ejecutarlo teclea lo siguiente:
f77 circulo.for
a.out
Para compilar el programa fuente y generar el ejecutable con un nombre diferente de a.out, se puede usar con la opción -o, por ejemplo,
f77 circulo.for -o circulo

En los ejemplos previos, no se ha distinguido entre compilar y ligar. Estos son dos procesos diferentes, pero el compilador de Fortran hace ambos, por lo que usualmente el usuario no se da cuenta. En el siguiente ejemplo se usan dos códigos fuentes para obtener un sólo codigo ejecutable.

f77 circulo1.for circulo2.for
En este caso el compilador genera dos códigos objetos los cuales son borrados automáticamente al generar el código ejecutable a.out. Se puede también hacer en dos pasos separados de la siguiente forma:
f77 -c circulo1.for circulo2.for
f77 circculo1.o circculo2.o
Compilando archivos por separados es útil si hay muchos archivos y sólo unos cuantos necesitan ser recompilados. En Unix hay una herramienta llamada make la cual es usada para manejar proyectos grandes. Para lo anterior se requiere de un archivo Makefile que instruya como se debe compilar y cuales son las dependencias entre los distintos archivos.


Ejercicios:

Ejercicio A
Compilar y ejecutar el programa circulo.for

Ejercicio B
Modificar el programa anterior para que calcule el perímetro en vez del área. Compilarlo, ejecutarlo y verificar la salida del programa.

 [3. Introducción a Fortran]  [Tutorial de Fortran]  [5. Variables, declaraciones y tipos]