如何在fortran中调用和使用另一个子例程中的子例程?
我正在做一个程序,其中main包含许多子程序和函数。为了构造main的其中一个子例程(比如子例程A),我需要使用另一个子例程(比如B)。我的问题是,如何调用子程序A并使用子程序B?我是一个初学者,我已经搜索了很多,但没有发现什么,我明白清楚如何在fortran中调用和使用另一个子例程中的子例程?,fortran,subroutine,Fortran,Subroutine,我正在做一个程序,其中main包含许多子程序和函数。为了构造main的其中一个子例程(比如子例程A),我需要使用另一个子例程(比如B)。我的问题是,如何调用子程序A并使用子程序B?我是一个初学者,我已经搜索了很多,但没有发现什么,我明白清楚 任何帮助都将不胜感激,提前感谢 通常您将所有程序放入模块,然后使用该模块 如果,正如您的问题所建议的,将所有过程都作为主程序的内部过程,那么调用它们是没有问题的。只需使用call语句,或通过将函数名与参数列表一起使用,即可正常调用它们。布局示例,在一个文件中
任何帮助都将不胜感激,提前感谢 通常您将所有程序放入
模块
,然后使用该模块
如果,正如您的问题所建议的,将所有过程都作为主程序的内部过程,那么调用它们是没有问题的。只需使用call
语句,或通过将函数名与参数列表一起使用,即可正常调用它们。布局示例,在一个文件中:
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
您还可以将模块和主程序放在不同的文件中。在这种情况下,首先使用模块编译文件