子程序名称 Fortran 名称

Subroutine Name Fortran Name

我有一个存储子程序名称的变量。有没有一种方法可以使用 "call [variable]".

调用子例程

我有几个子程序(示例名称:X_1、X_2、X_3 等),用户提供数字(1、2、3 等),然后代码应该运行与数字关联的子例程。

编译器无法自动执行此操作。您必须准备一个 table 来存储应该 select 编辑的数字或名称,然后调用正确的子例程。

之后,您可以使用 select 案例结构选择正确的函数。

select case (n)
  case (1)
    call subroutine_1
  case (2)
    call subroutine_2
end select

select case (name)
  case ("subroutine_1")
    call subroutine_1
  case ("subroutine_2")
    call subroutine_2
end select

您还可以将 table 与函数指针一起使用。所需的工作量将是相似的。