gfortran需要格式宽度而ifort不是吗?

时间:2017-07-01 11:22:06

标签: fortran gfortran

我正在尝试将一个.FOR文件(用于练习目的)从ifort迁移到gfortran。此文件在我的英特尔Visual Fortran解决方案中编译,没有任何问题。但是当我使用以下命令在gfortran中编译它时:

gfortran -ffree-form -ffree-line-length-200 -Dinternal_debug -c MyFile.FOR -o MyFile.o

我收到以下错误消息:

MyFile.FOR:4561:22:

   102     format(A, I)
                      1
Error: Nonnegative width required in format string at (1)

ifort根本不需要格式宽度,还是有额外的ifort选项可以放宽这个要求?为什么文件在ifort中运行顺利但在gfortran中没有?

1 个答案:

答案 0 :(得分:1)

你的观察是正确的,我以前自己遇到过。当gfortran执行此操作时,英特尔Fortran不会强制执行此要求。 Fortran标准实际上需要字段宽度。我不知道任何可能会改变此行为的编译器选项。我所知道的唯一选择是修复代码以使其符合标准。

如何在Error: Nonnegative width required in format string at (1)找到它。请注意,您询问的g0不是接受I的编译器选项。它是一个不同的格式描述符,可以放入代码而不是I