我尝试使用4维数组尺寸800 x 100 x 100 x 100,但遇到此错误:
/var/folders/cd/jlh3y5md6t70w3h9w747_87c0000gn/T//ccZySij1.s:282:zerofill size (3200000000.) <0! Ignored.
/var/folders/cd/jlh3y5md6t70w3h9w747_87c0000gn/T//ccZySij1.s:282:Rest of line ignored. 1st junk character valued 44 (,).
/var/folders/cd/jlh3y5md6t70w3h9w747_87c0000gn/T//ccZySij1.s:283:zerofill size (3200000000.) <0! Ignored.
/var/folders/cd/jlh3y5md6t70w3h9w747_87c0000gn/T//ccZySij1.s:283:Rest of line ignored. 1st junk character valued 44 (,).
make: *** [run.out] Error 1
但如果我使用可分配数组而不是普通数组,我可以传递此错误。
问题是为什么?
注意:通常的阵列尺寸800 x 80 x 80 x 80仍然有效。
从请求编辑:使用可分配数组的代码
9 integer :: x_size = 100
10 integer :: y_size = 100
11 integer :: z_size = 100
12 integer :: t_size = 800
13
14 real, dimension(:,:,:,:), allocatable :: l1, l2
15 allocate(l1(t_size, z_size, y_size, x_size), &
16 l2(t_size, z_size, y_size, x_size))
从请求编辑:使用普通数组的代码
9 integer :: x_size = 100
10 integer :: y_size = 100
11 integer :: z_size = 100
12 integer :: t_size = 800
13
14 real, dimension(t_size, z_size, y_size, x_size) :: l1, l2