tutorial salto resueltos programas programación problemas logaritmo linea ejemplos comandos fortran intel fortran90 gfortran pgi

salto - Fortran: Inicializa todas las variables a un valor predeterminado específico



problemas resueltos de programación en fortran 95 pdf (2)

Estoy trabajando en un código de spaghetti Fortran ~ 40 años con muchas variables que están implícitamente declaradas. Entonces, no hay una manera simple de saber qué variables existen en el código para inicializar sus valores. Ahora, ¿hay alguna manera de decirle al compilador (por ejemplo, Intel Fortran) que inicialice todas las variables en el código a un valor predeterminado específico (p. Ej., -999) distinto de cero o un número muy grande, tal como lo proporciona el compilador Intel?


Probablemente quieras:

ifort -check uninit

Nota por la página de manual esto solo verifica los escalares

Además, según algunas pruebas rápidas, es un control bastante débil. No capta esto simple, por ejemplo:

program test call f(i) end subroutine f(j) write(*,*)j end

devuelve 0 ..

Supongo que es mejor que nada.


gfortran proporciona algunas opciones para esto. Los enteros se pueden inicializar con -finit-integer=n donde n es un entero. Para números reales, puede usar -finit-real=<zero|inf|-inf|nan|snan> . Junto con -ffpe-trap=denormal esto puede ser muy útil, para obtener reales no inicializados.