我正在尝试在我的笔记本电脑上运行一个模拟程序(Linux 3.8.0-25-generic x86_64,带有 Ubuntu 13.04)。
它可以编译,但是当分配一些数组大小时,我得到:
forrtl:严重(179):无法分配数组 - 数组大小计算溢出。\
关于这条消息的一些谷歌搜索让我得出结论,这是因为我的程序内存不足而生成的。
为了检查这个假设,我尝试为同一个数组分配一个较小的维度,但仍然遇到同样的问题。
我接下来尝试的是增加堆栈内存,但仍然遇到同样的问题。
这是代码:
program memoria
implicit none
integer :: n,num
complex, dimension(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:), allocatable :: ddptrj
n=4
num=21
allocate(ddptrj(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,num))
deallocate(ddptrj)
endprogram memoria
我怎么解决这个问题?