静待花开 发表于 2021-7-17 18:47:10

Simply Fortran开启数组越界检查

program ex0912
    implicit 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 编译上述代码,为何还能运行?

楚香饭 发表于 2021-7-17 22:43:00

默认情况下,不会进行越界检查。
你可以在这里设置 -fcheck=bounds ,让编译器进行越界检查。

如图, Project 菜单 , Options...:


静待花开 发表于 2021-7-18 08:42:17

非常感谢,解决了。高手。
页: [1]
查看完整版本: Simply Fortran开启数组越界检查