在Fortran主文件头中包含.f和.F90文件

时间:2014-03-31 02:29:23

标签: fortran fortran90 fortran77 intel-fortran

我在F90程序中使用了一些F77固定格式代码。我试图在我的主程序中包含这两种代码。以下是我如何安排我的代码:

标题文件:

File Name:include.inc
include 'module_variables.F90'
include 'message.F90'
include 'module_common_functions.f90'
include 'module_input_gdf.F90'
...

Relavant LAPACK文件

File Name: lapack.inc
include 'xerbla.f'
include 'strsm.f'
include 'slaswp.f'
include 'sgetrs.f'
include 'sgetrf.f'
...

现在我的主程序看起来像:

include 'lapack.inc'
include 'include.inc'

program MDL_HydroD

   use module_variables
   use module_write_files
   use module_read_files
   ...

当我尝试使用ifort "MDL HydroD.F90"编译主代码时,F77格式的文件会显示错误消息:

xerbla.f(1): error #5078: Unrecognized token '\' skipped
*> \brief \b XERBLA
---^ 

这是因为编译器正在读取注释部分(以*开头)。有没有什么方法可以在我的标题中使用这两种类型的fortran代码进行编译。

注意:我正在使用带有命令提示符的Intel Composer XE 2013。

1 个答案:

答案 0 :(得分:3)

对于该编译器,存在编译器特定的指令(不是标准语言的一部分),允许您更改正在使用的源表单。

将相关指令放在include文件之前,然后将另一个指令放在include文件之后以切换源表单。也许:

!DEC$ NOFREEFORM
      INCLUDE 'lapack.inc'
!DEC$ FREEFORM

有关详细信息,请参阅http://software.intel.com/en-us/node/466230