其中外部过程默认为隐式接口,而模块过程等其他类型则具有显式接口。用户可以通过interface语句为任何默认隐...
Implicit noneinterfacesubroutinesub(x)real::x(:,:)end subroutine sub end Interfacereal::a(30,30)callsub(a)end program test module 把一部分有关联的数据和函数聚合在一起。 1 可以避免手写interface 2 数据共享 3 数据与过程封装,包含,集成 module向外提供变量和子程序的权限属性: image.png module中的...
在 Fortran 中,动态数组(Dynamic Arrays)不一定必须放在接口(Interface)中。接口是 Fortran 中的一种...
module是一种程序单元,可以用来封装、保存和管理数据、函数和子程序。 module的主要功能就是: 1.共享数据; 2.封装,其中封装的作用又包括2.1管理,分类;2.2共享过程。 使用module时,已经隐含得使用了interface(人工使用interface较麻烦,因此推荐使用module) eg.使用全局变量时,可以都声明在module里面,需要的时候只需要use...
use opModule!在主程序或函数中使用时,需要在声明之前先写上一行:!use module_name.implicit nonereal(kind=4)::a=2.0,b=3.0,add_result=0.0interface!声明函数调用接口,sub无需声明可直接调用real(kind=4)functionadd_func(a,b)implicit nonereal(kind=4)::a,b ...
module多文件组织 与c语言只有函数不同,Fortran提供了子程序subroutine,函数function,模块module等多种结构。 子程序subroutine 首先,回顾之前的HelloWorld programmainimplicit nonewrite(*,*)"hello,world!"end programmain 其中使用了名称为main的主程序program,一个可执行程序只允许有一个program,为了分离和复用某个功能...
Fortran中module的作用 Fortran中的module主要用途有两个: 在module内声明一些变量, 通过use module的方式实现变量在其余过程中的共享. 通过contains 在module内定义具有显式接口(explicit interface)的过程, 供其它函数或子例程调用. 相较于隐式过程(implicit interface)而言,显式接口对过程的检查更为全面,能够得到更...
即 real :: matrix(:,:) 这样的写法。你有几种选择:不使用假定形状。而把数组大小传入subroutine。使用假定形状。并书写 interface 使用假定形状,但不书写 interface,而使用 module(避免interface)推荐使用 module module 是对 若干变量,subroutine 的封装。是一个很好的,很高级的语法特征。
SUBROUTINE_interface_body 请参阅接口块以获取语法详细信息 PROCEDURE_statement 请参阅PROCEDURE以获取语法详细信息 END_ABSTRACT_INTERFACE_statement 请参阅END INTERFACE以获取语法详细信息 示例 MODULE M ABSTRACT INTERFACE SUBROUTINE SUB(X,Y) INTEGER ,INTENT(IN)::X INTEGER ,INTENT(IN)::Y END SUBROUTINE END...
module matrix_operations implicit none contains ! 子程序声明 interface subroutine multiply_matrix_vector(A, x, b) real, intent(in) :: A(:,:) ! 二维实数数组,任意大小 real, intent(in) :: x(:) ! 实数向量,任意大小 real, intent(out) :: b(:) ! 实数向量,任意大小 ...