回 帖 发 新 帖 刷新版面

主题:很诡异的错误

我现在都怀疑是不是ifort的bug了。  是这样的,  prog1 运行正确,现在我在里面加入一个subroutineA , 并且我不调用这个subroutine, 结果却输出错误, 出现了 NAH. 
我把subroutine 中的 common, module 部分去掉 还是不可以,
最后发现  去掉subroutineA 里面的一个 call subroutineB , prog1就运行正确了。
明明没调用,怎么会对程序有影响啊, 求解释啊!

回复列表 (共18个回复)

沙发

程序里有数组越界了,就会出现这种诡异的问题

板凳

如果程序不大, 请楼主放上来大家讨论一下.

btw: 楼主既然用module了为什么还用过时的common?

3 楼

杂交啦

4 楼


谢谢啊,数组越界往往会出现很难发现的错误。我再检验一下,是不是这个问题。

5 楼


程序有点大,不是很方便,因为压根不知道什么原因,我也很难用一个简单的例子说明。

6 楼


恩,我觉得这个可能很大啊。原因是之前prog1 中有个子程序与subroutineA 功能类似 为subroutineAA,这两个分别运行都没问题,放在一起就有问题,即使都不调用也对其他的量有影响,产生错误影响。 能详细说一下 杂交的概念吗

7 楼

唉,又发现多加一个write(*,*) 输出语句居然会出现错误,崩溃了....

8 楼

没代码, 帮不上忙~

9 楼

把数组边界检查打开呢?
程序编译时有没有什么WARNING?

杂交在这里指的是你既用COMMON又用Module

10 楼


我把 common 和module 全部去掉了,还是不可以。  对了 linux 下 ivf 怎样设置数组边界检查啊?

我来回复

您尚未登录,请登录后再回复。点此登录或注册