Fortan中include语句中的断行

问题描述 投票:1回答:1

我是Fortran的新手,正在尝试运行不是我自己的代码。当我键入存储模块的目录时,该目录太长,必须换行。但是,当我尝试执行此操作时,会出现错误。

我正在Windows中使用Geany处理Fortran。

我正在尝试运行的代码:

    include "G:\My Drive\06. Projects\02. CA_Spain\8. Replications\lmr_red_final\estimation_ed2_no_growth\src\model\params.f90"
    include "G:\My Drive\06. Projects\02. CA_Spain\8. Replications\lmr_red_final\estimation_ed2_no_growth\src\output.f90"
    include "G:\My Drive\06. Projects\02. CA_Spain\8. Replications\lmr_red_final\estimation_ed2_no_growth\src\glob.f90"
    include "G:\My Drive\06. Projects\02. CA_Spain\8. Replications\lmr_red_final & 
\estimation_ed2_no_growth\src\optimization\objective_function_mod.f90"
    include "G:\My Drive\06. Projects\02. CA_Spain\8. Replications\lmr_red_final\estimation_ed2_no_growth\src\optimization\optimization_mod.f90"
    include "G:\My Drive\06. Projects\02. CA_Spain\8. Replications\lmr_red_final\estimation_ed2_no_growth\src\optimization\data_statistics_mod.f90"

    program Msw
      use params
      use output
      use glob
      use objective_function_mod
      use optimization_mod
      use data_statistics_mod
    ...

这是出现的错误:

 - main_serial.f90:4:0: 
 - include "G:\My Drive\06. Projects\02. CA_Spain\8. Replications\lmr_red_final &
 - Error: Unclassifiable
 - statement at (1) main_serial.f90:5:1:
 - \estimation_ed2_no_growth\src\optimization\objective_function_mod.f90"
 - 1
 - Error: Invalid character in name at (1)
fortran geany
1个回答
2
投票

包含行可能不会继续,因此您不能以这种方式拆分字符文件名。

相反,您应该找到一种缩短文件路径引用的方法,或者(非便携式)允许编译器接受更长的行。缩短文件路径可能涉及重命名/移动文件,创建文件系统链接或使用编译器搜索路径。

从Fortran 2018(6.4 p4):

INCLUDE行应出现在可以出现语句的单个源行上

© www.soinside.com 2019 - 2024. All rights reserved.