Fortran - Duda

 
Vista:

Duda

Publicado por nordri (2 intervenciones) el 20/03/2010 14:09:54
Me pregunto por qué este código:

PROGRAM matriz

USE FILEUNITS ; USE PARAMETERS
IMPLICIT NONE

INTEGER, DIMENSION(:), ALLOCATABLE :: m
INTEGER :: error

ALLOCATE(m(28000000000000),STAT=error)

IF (error.NE.0) THEN
PRINT*, "Error al reservar memoria"
ELSE
PRINT*, "OK, Memoria reservada"
ENDIF

DEALLOCATE(m)

END PROGRAM matriz

Funciona y reserva esa cantidad de memoria y en cambio este otro:

PROGRAM matriz

USE FILEUNITS ; USE PARAMETERS
IMPLICIT NONE

INTEGER, DIMENSION(:,:), ALLOCATABLE :: m
INTEGER :: error

ALLOCATE(m(167322,167322),STAT=error)

IF (error.NE.0) THEN
PRINT*, "Error al reservar memoria"
ELSE
PRINT*, "OK, Memoria reservada"
ENDIF

DEALLOCATE(m)

END PROGRAM matriz

No funciona diciendo que no puede reservar la memoria. Alguien me lo puede explicar?

Muchas gracias y saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder