【发布时间】:2014-01-13 09:36:15
【问题描述】:
我正在做一个程序,其中 main 包含许多子例程和函数。为了构建主程序的这些子程序之一(比如说子程序 A),我需要使用另一个子程序(比如说 B)。我的问题是,我怎样才能调用子程序 A 并使用子程序 B?我是一个初学者,我搜索了很多,但没有找到我清楚明白的......
任何帮助将不胜感激,在此先感谢!
【问题讨论】:
标签: fortran subroutine
我正在做一个程序,其中 main 包含许多子例程和函数。为了构建主程序的这些子程序之一(比如说子程序 A),我需要使用另一个子程序(比如说 B)。我的问题是,我怎样才能调用子程序 A 并使用子程序 B?我是一个初学者,我搜索了很多,但没有找到我清楚明白的......
任何帮助将不胜感激,在此先感谢!
【问题讨论】:
标签: fortran subroutine
布局示例,在一个文件中:
module MySubs
contains
subroutine A (..)
end subroutine A
subroutine B (..)
call subroutine A (..)
end subroutine B
function C (..)
end function C
end module MySubs
program MyProg
use MySubs
call A (..)
X = C (..)
end program MyProg
您还可以将模块和主程序放在不同的文件中。在这种情况下,首先使用模块编译文件。
【讨论】:
通常您将所有过程放在module 中,然后放在use 模块中。
如果按照您的问题建议将所有过程都作为主程序的内部程序,那么调用它们就没有问题。只需使用call 语句正常调用它们,或者使用带有参数列表的函数名即可。
【讨论】: