由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 怎样解决fortran程序中的common块的问题
相关主题
fortran里面common的问题急问大牛们:关于fortran堆栈溢出
请教Fortran编程高手并问一下OpenMP的问题那个语言最适合做科学计算软件
求助,如何才能将一个c++对象封装成一个函数指针。在C/Fortran之间传递2维数组
请教一个排序的问题。一个fortran问题:
如何在fortran中定义一个动态的数组?菜鸟弱问FORTRAN的一个小问题
问个fortran的问题MPI xl fortran problem on Blue Gene
问个有关Perl Subroutine 转换到Module的问题32/64bit Fortran编译器造成的错误
FORTRAN 90 菜鸟问题问个简单的Fortran问题
相关话题的讨论汇总
话题: blk1话题: common话题: 子程序话题: subroutine话题: fortran
进入Programming版参与讨论
1 (共1页)
x********3
发帖数: 566
1
现在有一个比较大的Fortran程序,好几百个个common块被在不同组合后,被好几百个
子程序使用,现在需要改写这个程序,每次这些common块都比较麻烦,改变一个往往的
一个一个子程序找着挨个儿改。想用module封装一下,可是觉得这样做了之后觉得每个
module里就列出几十个全局变量,似乎也没有好很多。而且工作量似乎很大,因为每个
common块在不同子程序中的变量名可能不一样,比如
在子程序A: common /blk1/ v1,v2,v3
在子程序B: common /blk1/ u1,u2,u3
这样一来,觉得动作还是比较大的,不知道有没有好的办法,大家给指点一下。谢谢了
O******e
发帖数: 734
2
module blk1
integer,parameter::n=. . .
real,dimension(1:n),public::w1,w2,w3
end module blk1
subroutine a(. . .)
use blk1,only:v1=>w1,v2=>w2,v3=>w3
. . .
return
end subroutine a
subroutine b(. . .)
use blk1,only:u1=>w1,u2=>w2,u3=>w3
. . .
return
end subroutine b

【在 x********3 的大作中提到】
: 现在有一个比较大的Fortran程序,好几百个个common块被在不同组合后,被好几百个
: 子程序使用,现在需要改写这个程序,每次这些common块都比较麻烦,改变一个往往的
: 一个一个子程序找着挨个儿改。想用module封装一下,可是觉得这样做了之后觉得每个
: module里就列出几十个全局变量,似乎也没有好很多。而且工作量似乎很大,因为每个
: common块在不同子程序中的变量名可能不一样,比如
: 在子程序A: common /blk1/ v1,v2,v3
: 在子程序B: common /blk1/ u1,u2,u3
: 这样一来,觉得动作还是比较大的,不知道有没有好的办法,大家给指点一下。谢谢了
: 。

1 (共1页)
进入Programming版参与讨论
相关主题
问个简单的Fortran问题如何在fortran中定义一个动态的数组?
求教:32位Fortran DLL 用于 64位ExceL macro问个fortran的问题
如何实现向另一个应用程序(不是自己编的,没有原码)添加功能问个有关Perl Subroutine 转换到Module的问题
any way to use regex in Fortran?FORTRAN 90 菜鸟问题
fortran里面common的问题急问大牛们:关于fortran堆栈溢出
请教Fortran编程高手并问一下OpenMP的问题那个语言最适合做科学计算软件
求助,如何才能将一个c++对象封装成一个函数指针。在C/Fortran之间传递2维数组
请教一个排序的问题。一个fortran问题:
相关话题的讨论汇总
话题: blk1话题: common话题: 子程序话题: subroutine话题: fortran