如何在Fortran 90中使用include语句?

时间:2013-03-18 13:46:36

标签: fortran fortran90 intel-fortran fortran77

我有一些.h文件用于FORTRAN 77中的某些模块(我自己没有写过)。我想在Fortran 90中编写一个新例程并使用这些.h文件。 我试图使用include 'foo.h',当我尝试编译时(使用ifort版本13.0.0.079 Build 20120731)我收到以下错误:

Syntax error, found IDENTIFIER 'FOO' when expecting one of: ( % [ : . = => C FOO COMMOM

我还尝试使用include foo.h,这给了我以下错误: error #5082: Syntax error, found IDENTIFIER 'FOO' when expecting one of: <CHAR_CON_KIND_PARAM> <CHAR_NAM_KIND_PARAM> <CHARACTER_CONSTANT> INCLUDE FOO.h ----------^

error #6274: This statement must not appear in the specification part of a module INCLUDE foo.h --^

error #6236: A specification statement cannot appear in the executable section. !$ use omp_lib ---^

error #6236: A specification statement cannot appear in the executable section. implicit none --^

error #6456: This name must be a RECORD name. [FOO] INCLUDE FOO.h ----------^

error #6460: This is not a field name that is defined in the encompassing structure. [H] INCLUDE foo.h ----------------- ^

error #6252: This format specifier is invalid. [FOO] INCLUDE foo.h

我猜F90中不存在include。是否有类似的东西允许人们使用.h文件?

1 个答案:

答案 0 :(得分:5)

我认为您可能正在混合使用自由格式程序和固定格式包含文件。您必须使用相同格式的文件或http://fortranwiki.org/fortran/show/Continuation+lines

的“交叉格式”

错误的另一个原因是在文件的错误部分使用include语句。它必须根据文件的内容放在正确的位置,即可执行代码;变量和类型定义(规范表达式)或过程定义都有适当的位置。