2

我有一些 .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

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

4

1 回答 1

5

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

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

于 2013-03-18T15:11:49.237 回答