【发布时间】:2015-11-05 06:32:11
【问题描述】:
我有旧版 fortran 代码,我在其中将一些数字打印到文件中,但没有格式声明。现在一些输出看起来像这样:
ah !!!!!!!!!!!!!!!!!!!!!!!!!! afn !!!!!!!!!!!!!!!!!!!!!!!!!!
ah !!!!!!!!!!!!!!!!!!!!!!!!!! afn +*************************
ah !!!!!!!!!!!!!!!!!!!!!!!!!! afn +*************************
ah !!!!!!!!!!!!!!!!!!!!!!!!!! afn !!!!!!!!!!!!!!!!!!!!!!!!!!
ah !!!!!!!!!!!!!!!!!!!!!!!!!! afn 6.31304569736211807
对应的代码是:
write(6,*) 'ah', ah(nzaehl),'afn',afn(nzaehl)
ah 和 afn 只是应该包含实数的数组。此输出用于调试目的,以了解这些数组的真实外观。事实上,只要我不知道感叹号是什么意思,我真的不知道哪里出错了。
如果我理解正确,包含星号的行是太大的数字,但是感叹号是什么意思?由于某种原因,我在谷歌上找不到任何东西,所以我非常感谢您的解释。
使用的编译器是f90。至少在makefile中是这样调用的。
【问题讨论】:
-
了解您要打印的数字以及您使用的编译器会很有帮助。
-
可能是调试行意外遗留,可能是由首字母为 afn 或 ah 的人造成的
-
@IanBush 是的,调试行是正确的,但它们在那里是因为我正在尝试调试,所以不是偶然的。
-
@HighPerformanceMark 不,这就是 makefile 中的全部内容。很可能编译器在某种程度上特定于它正在运行的机器,或者这是一个 shell 快捷方式,我只是不知道如何找到。
-
@HighPerformanceMark
f90有一个man条目,上面写着“f90 调用优化 FORTRAN90 编译器 OFORT90。”。我不知道这是否有帮助。