回 帖 发 新 帖 刷新版面

主题:程序运行出现奇怪问题

本人使用cvf6.6版fortran console application做工程实现了一个循环次数较大的程序,但运行没有达到最大循环次数就结束了,且运行前后均未提示有任何问题及警告。
因程序较大,本人不方便帖出来。在此问下,有没可能是版本及工程问题?

回复列表 (共35个回复)

31 楼

[quote]采用 integer*8 数据类型[/quote]

???不明白,能讲清楚吗

32 楼

你可以试试在allocate语句中间加入 stat子句,查看返回值,0为正确分配,如果是正数值可以查看编译器的说明来确定具体错误原因。

33 楼

[quote]你可以试试在allocate语句中间加入 stat子句,查看返回值,0为正确分配,如果是正数值可以查看编译器的说明来确定具体错误原因。[/quote]

试过了,程序正常运行时,stat返回值为0;程序运行出问题时,无法看到stat返回值

34 楼

好像链表申请内存时不是这么用的。
 ALLOCATE(CTP)
                    CTP%LPP=J
                    CTP%NEXTP=>LCP(I)%ENDP
                    LCP(I)%ENDP=>CTP

用这个替换试试
ALLOCATE( LCP(I)%ENDP , STAT = error )
  LCP(I)%ENDP%LPP = J
  LCP(I)%ENDP%NEXTP => LCP(I)%ENDP

注意 LCP(I)%ENDP的对应的type。

35 楼

问题已解决,感谢各位的热情参与!

我没找到错误的原因,不过我修改了内存的分配与释放的频率后,问题没有再出现。还是希望能有高手出来解释下为什么!

我来回复

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