Fortran Coder

标题: 关于程序调用问题? [打印本页]

作者: evanustc    时间: 2020-5-30 21:12
标题: 关于程序调用问题?
在学习一个可执行的F77编写的代码,环境为LINUX。代码这一段我很疑惑,如图,求助:在这个代码的所有文件目录下,我根本找不到RDBUF和WRTBUF这两个函数,而这两个函数是用来读写数据的。
很奇怪的是整个代码编译后,运行起来一切正常,计算结果也OK。
我想知道的是这2个函数找不到对应的*.f文件,怎么能够完美运行的?在哪里能找到这个?



1.png (42.16 KB, 下载次数: 208)

1.png

作者: evanustc    时间: 2020-5-30 22:17
找到了,使用了ENTRY入口,还在跟踪,有问题再请教大家!
作者: evanustc    时间: 2020-5-30 22:54
请教,一步一步调式顺序按图1、2、3、4所示:
图1中,makept.f下断点到WRTBUF,下一步
图2中,到达opnbuf.f中,到达ENTRY WRTBUF(LGV,L0,W,X,J,NM), 按我的料想继续下一步,应该执行到NN1=NN+80,也就是下一行,但是并不是这样。执行下一步到图3
图3中,却到了makept.f函数入口处,继续下一步,如图4
图4中,直接到了LCOUNT=LCOUNT+1这里。

为什么没有执行ENTRY WRTBUF(LGV,L0,W,X,J,NM)的内容呢,很疑惑?

1.png (164.47 KB, 下载次数: 241)

1.png

2.png (136.18 KB, 下载次数: 228)

2.png

3.png (157.18 KB, 下载次数: 229)

3.png

4.png (157.14 KB, 下载次数: 229)

4.png





欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2