在我的 fortran 代码中,我试图包含一个 DO 循环,但我最终得到一个“DO 循环或 BLOCK IF 未关闭”。如果在打开 INCLUDE 语句后出现任何其他 DO 循环,则它会将它们视为嵌套循环,向我表明包含的开始 DO 行被正确解释,但不是 END DO 语句。我已将包含的代码简化为基本代码,以确保它是循环而不是循环中的语句给出问题。控制变量在 DO 循环之前声明。
DO A = 1,3
END DO
Fortran77 是否不允许在 INCLUDE 文件中使用 DO 循环?
如果它变化很大,我将 gfortran 用于我的编译器。
编辑:语法
Edit2:我使用的是 GCC 4.6.2。现在要注意,如果这有所不同,gfortran 是从 PSCAD 制作的 makefile 运行的。如果相关的话,我可以提供这方面的信息。
这是遇到此问题的代码:
测试.F:
SUBROUTINE TESTFX()
INTEGER A
INCLUDE '../HDR.INC'
END
HDR.INC:
DO A = 1,3
END DO
Edit3:编辑代码中的错别字并从子程序中删除 RETURN。