Fortran 中的Module 的使用
(2011-09-14 22:12:22)
标签:
杂谈 |
分类: Fortran |
Fortran90 中引入的module 的语法,我感觉非常好用,以后争取把函数都用module
封装,丢弃common,这种封装的思想也能够使得编程很清晰,再来熟悉一下module的语法吧!
module constant
implicit none
real,parameter::pi=3.14159
end module constant
module var
implicit none
real :: t1,t2,t3
end module var
module minu_add
use constant
implicit none
real :: t=pi
public add
public minu
contains
subroutine add(x,y,res)
implicit none
real ,intent(in)::x
real ,intent(in)::y
real ,intent(out)::res
res=x+y-pi+t
return
end subroutine add
subroutine minu(x,y,res)
implicit none
real ,intent(in)::x
real ,intent(in)::y
real ,intent(out)::res
res=x-y-pi+t
return
end subroutine minu
end module minu_add
program exe
use minu_add
use var
t1=1.0
t2=2.0
call add(t1,t2,t3)
write(*,*)"add",t3
call minu(t1,t2,t3)
write(*,*)"minu",t3
write(*,*)"ttt",t
stop
end program exe
module constant
implicit none
real,parameter::pi=3.14159
end module constant
module var
implicit none
real :: t1,t2,t3
end module var
module
use constant
implicit none
real :: t=pi
public add
public minu
contains
implicit none
real ,intent(in)::x
real ,intent(in)::y
real ,intent(out)::res
res=x+y-pi+t
return
end subroutine add
subroutine minu(x,y,res)
implicit none
real ,intent(in)::x
real ,intent(in)::y
real ,intent(out)::res
res=x-y-pi+t
return
end subroutine minu
end
program exe
use minu_add
use var
t1=1.0
t2=2.0
stop
end program exe