Fortran数组边界溢出
发布网友
发布时间:2023-12-22 12:02
我来回答
共1个回答
热心网友
时间:2024-07-13 08:36
数组越界,应该在 step1 函数内,adi.f90 源代码的第 45 行。
你只是给出了代码片段,很多东西无法帮你调试,例如 FuncB FuncF FuncA 是什么?数组,还是函数? U0(M) , B0(M) 是什么??无法得知。
一段代码,需要完整的信息,才能够做语义上的分析,否则甚至连语法上的分析都困难。
我想你的代码应该不短,建议你学习一下 Debug 断点单步调试模式,在源码 45行下断点,看 45 行的代码里有几个数组?其分别引用了多少号元素?数组定义为多大,是否超过了数组声明时的大小。追问您所说的step1 函数内的第 45 行就是我用箭头指出来的那一行,我用debug检查后发现循环变量变成了一个很大的负值,能麻烦您留下邮箱吗,代码太长了没法贴上来
追答那就在之前的代码插断点,看是哪一步变成负值的。
邮箱:geophyman()126.com