爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 12156|回复: 11

[求助] fortran源程序

[复制链接]

新浪微博达人勋

发表于 2011-11-22 16:48:51 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
大家好,
  我刚学习fortran,想请教大家,如果我想在A.f源程序中调用B.f该怎么办呢,谢谢大家指点!


密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-11-22 18:58:12 | 显示全部楼层
这个我原来也想弄一下,没弄出来,后来吧B.f里面的内容复制到A.f里面 写了个subroutine实现的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2011-11-22 19:40:21 | 显示全部楼层
看看彭国伦的那本书啦,试试 module
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2011-11-22 20:08:25 | 显示全部楼层
本帖最后由 言深深 于 2011-11-22 20:10 编辑

@mofangbao的说法是正确的,如果想要两个程序相互调用需要借助模块化,但是鉴于你初学,建议采取@topmad的做法,用子程序的做法,在主函数中call一下就可以了,具体实现大致如下,也参考fortran版面的很多帖子
!---------------------------------------------
x=4.
call angle(x,y)
print*,y
end

subroutine angle(a,b)
b=x**2
end
!------------------------------------

输出结果为4
注意call里面的和子程序里面的参数意义对应即可,可以是数组,字符······
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-11-22 20:15:48 | 显示全部楼层
@言深深
我对module基本没啥概念,学 了一下,还没动手用
深深写个module教程哇
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2011-11-23 07:44:30 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2011-11-23 09:01:59 | 显示全部楼层
用子程序实现了,如果子程序比较大,我想用两程序源代码这样比较方便我认为,大家有什么新的想法,欢迎指点,天使宝贝感激不尽!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-11-23 09:44:06 | 显示全部楼层
在B.f中写成子程序或是模块的形式 然后将两个程序放到同一个workspace下编译即可
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2011-11-23 16:55:25 | 显示全部楼层
wlzhongouc 发表于 2011-11-23 09:44
在B.f中写成子程序或是模块的形式 然后将两个程序放到同一个workspace下编译即可

我放到了同一个workspace下,但是编译总是出现错误,jiecheng(a)是我在123.f中的一个子程序,错误显示是:
456.obj : error LNK2001: unresolved external symbol _JIECHENG@4
Debug/456.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-11-23 17:33:38 | 显示全部楼层
天使宝贝 发表于 2011-11-23 16:55
我放到了同一个workspace下,但是编译总是出现错误,jiecheng(a)是我在123.f中的一个子程序,错误显示是: ...

这还是没有放到同一个workspace的原因  先在dsw中打开,然后在左边一栏通过add files to project加到同一个workspace下 这样编译后才能调用外部子程序
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表