Simply Fortran开启数组越界检查
program ex0912implicit none
Real(kind=4), Allocatable :: A(:)
Integer(kind=1), Allocatable :: B(:)
Allocate(A(10))
Allocate(B(20))
A=10
B=20
A(-20)=1
B(-1000)=100
write(6,*)A(:)
write(6,*)A(20)
write(6,*)B(:)
write(6,*)B(-1000)
stop
end program
有点困惑,用SIMPLY FORTRAN 编译上述代码,为何还能运行?
默认情况下,不会进行越界检查。
你可以在这里设置 -fcheck=bounds ,让编译器进行越界检查。
如图, Project 菜单 , Options...:
非常感谢,解决了。高手。
页:
[1]