pass74 发表于 2014-4-3 09:13:47

chuxf 发表于 2014-4-3 08:59
你应该一开始就给修改以后的,至少能正常编译链接的。

文件中的 NRLX.exe 是其他编译器编译出来的。大概 ...

不好意思,附件只能添加1000k以下的文件,我修改以后的压缩包是1380k,所以只好上传了源文件,今天我把里面没用的文件都删了才传上去的,那请问上面的问题到底是什么原因?我已经检查了三天了还是没找出。。。

fcode 发表于 2014-4-3 09:26:12

我现在可以正常编译链接了。但是出现错误的位置与你不同。

NRL40.for 文件 568 行
READ( KRA, 101) NZLAST, IZERO,( BUF5( IJ), IJ= 1, 5)

此时的 KRA = 0,前面也没有 Open 过 0 的文件,IVF不允许文件通道号为0,这是屏幕读取吗?
还有你的错误,是发生在文件通道号 1 还是 7 ?你自己好像都说得不一致。






pass74 发表于 2014-4-3 09:56:39

fcode 发表于 2014-4-3 09:26
我现在可以正常编译链接了。但是出现错误的位置与你不同。

NRL40.for 文件 568 行


谢谢你的耐心回答,我一开始也是碰到这个错误,后来也不知道怎么的这个错误就没了,又出现了fortran中forrtl:severe(24):end-of-file during read,unit 1··都是在READ语句这里出错, 关于设备号KRA = 0我也没搞懂什么原因,我的错误是发生在以下:

楚香饭 发表于 2014-4-3 10:05:56

检查一下 XRDATS 文件是否有内容吧。应该是 6KB,你是否弄没了?变成了 0 KB ?

楚香饭 发表于 2014-4-3 10:07:09

12楼的错误不是没有了,还在。

你的问题是出现了一个新的错误(XRDATS文件内容丢失),而这个错误早于12楼的错误。因此你只能看到这个错误,12楼的错误还没有引发。

pass74 发表于 2014-4-3 10:18:06

本帖最后由 pass74 于 2014-4-3 10:19 编辑

chuxf 发表于 2014-4-3 10:07
12楼的错误不是没有了,还在。

你的问题是出现了一个新的错误(XRDATS文件内容丢失),而这个错误早于12楼 ...
还真是你说的那样,现在原问题解决了,又出现了之前的那个问题,就是和你一样的问题:

楚香饭 发表于 2014-4-3 10:33:12

IVF 不允许对 0 通道号直接使用。

你应该了解一下此处是屏幕输入,还是文件输入?如果是文件输入,了解一下此处应该从哪个文件输入?假设为 a.txt

那么在程序一开始加一句 Open( 0 , File = 'a.txt' )

pass74 发表于 2014-4-3 12:22:26

本帖最后由 pass74 于 2014-4-3 12:24 编辑

chuxf 发表于 2014-4-3 10:33
IVF 不允许对 0 通道号直接使用。

你应该了解一下此处是屏幕输入,还是文件输入?如果是文件输入,了解一 ...
问题可能出在以下(图片标注的地方),“IF ( IBUFA.LE. 0) GO TO 3”   这一句直接跳过了 “   2   KRA= IA       CALL FILIO( KRA, 4, 1, 1, 1) ”的执行,导致KRA=0,下面就找不到设备号为0的文件,至于为什么会跳过目前还没找到原因,因为源程序不是我写的,但既然他能运行出结果说明源程序本身没问题,我再找找原因,实在找不出再麻烦你,非常感谢!

楚香饭 发表于 2014-4-3 12:28:49

我估计代码也不是你写的。

这段代码非常非常老,可读性很差。确实遇到问题不知道怎么办。(除非你可以联系上作者)

如果你能弄清楚这部分读取的是什么文件,那就好办了。给 KRA 一个初值就可以了。

pass74 发表于 2014-4-3 21:57:57

本帖最后由 pass74 于 2014-4-3 22:01 编辑

chuxf 发表于 2014-4-3 12:28
我估计代码也不是你写的。

这段代码非常非常老,可读性很差。确实遇到问题不知道怎么办。(除非你可以联系 ...
12#的问题还是没能解决,我又下载安装了CVF6.6,运行后程序能全部走完,就是结果不对,但最终还是想在IVF下调试和修改
页: 1 [2]
查看完整版本: fortran中forrtl:severe(24):end-of-file during read,unit 7··