24小时热门版块排行榜    

Znn3bq.jpeg
查看: 2434  |  回复: 20

1xiaohua1

木虫 (正式写手)

[求助] 请高手指点如何成功运行fun.f90和main.f90

  假如现在有两个Fortran程序fun.f90和main.f90,其中main.f90是主程序,fun.f90是在主程序中调用的子程序,将这两个文件放到一个目录下,如何使用fortran成功编译并运行主程序,获得运算结果?
              (需要在主程序中添加什么语句,以及如何运行和编译主程序,一切都在window系统VS软件下进行)
  
求高手指点,给出详细的操作
回复此楼
活着,就要不停地做事
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

zhg19

金虫 (小有名气)

引用回帖:
4楼: Originally posted by 1xiaohua1 at 2013-11-11 15:06:14
谢谢了,我加了运行不了...

你的那个fun.90里的子程序是按subroutine定义的?
6楼2013-11-11 17:52:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

virtualzx

木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★
1xiaohua1: 金币+4, ★★★★★最佳答案 2013-11-15 09:28:29
1xiaohua1: 金币+1 2013-12-13 22:50:53
引用回帖:
19楼: Originally posted by 1xiaohua1 at 2013-11-14 09:12:30
另一个...

在fun.f90里,把
real,intent(out)::z
改为
real::z
然后在main.f90里,把
real, external :: fun
改为
real, external :: funm
然后再编译就行了。

$ gfortran *.f90 -o test.x
$ ./test.x
   8.00000000
20楼2013-11-15 06:39:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

Carpathia

银虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★
感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2013-11-12 01:23:20
1xiaohua1: 金币+2 2013-11-14 16:39:40
1xiaohua1: 金币+1 2013-12-13 22:51:01
前提两个文件都加入project,主程序中要加入interface,指定fun里面的函数,main里面确定要有program入口,然后可以编译了
追求理想的道路上东张西望
2楼2013-11-10 20:47:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhg19

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★
感谢参与,应助指数 +1
1xiaohua1: 金币+1 2013-11-11 15:06:45
jjdg: 金币+1, 感谢参与 2013-11-12 01:23:27
1xiaohua1: 金币+2 2013-11-14 16:39:46
楼主可尝试在主程序末尾添加:
include 'fun.f90'
3楼2013-11-10 23:05:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1xiaohua1

木虫 (正式写手)

引用回帖:
3楼: Originally posted by zhg19 at 2013-11-10 23:05:33
楼主可尝试在主程序末尾添加:
include 'fun.f90'

谢谢了,我加了运行不了
活着,就要不停地做事
4楼2013-11-11 15:06:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1xiaohua1

木虫 (正式写手)

引用回帖:
2楼: Originally posted by Carpathia at 2013-11-10 20:47:04
前提两个文件都加入project,主程序中要加入interface,指定fun里面的函数,main里面确定要有program入口,然后可以编译了

你好,你说的我不太明白,能不能给个例子
        main主程序:
                       program  main
                                implicit none
                                real::a=2,b=3
                                  real::c
                                  c=fun(a,b)
                         end   program

              function  fun(x,y)
                                real,intent(in)  ::   x  ,   y
                                  real::z
                                z=x+y
                end function
对这样简单的例子,我该对主程序怎样修改??
活着,就要不停地做事
5楼2013-11-11 15:12:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

totu2013

新虫 (初入文坛)

引用回帖:
6楼: Originally posted by zhg19 at 2013-11-11 17:52:16
你的那个fun.90里的子程序是按subroutine定义的?...

正解。
7楼2013-11-11 22:53:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhg19

金虫 (小有名气)

引用回帖:
7楼: Originally posted by totu2013 at 2013-11-11 22:53:40
正解。...

应该可以啊,不过,没代码,问题不好说。。。
8楼2013-11-11 23:55:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhg19

金虫 (小有名气)

【答案】应助回帖

引用回帖:
5楼: Originally posted by 1xiaohua1 at 2013-11-11 15:12:20
你好,你说的我不太明白,能不能给个例子
        main主程序:
                       program  main
                                implicit none
                                real::a=2,b=3
    ...

貌似fun(a,b)木有返回值啊。。。
9楼2013-11-12 00:03:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

virtualzx

木虫 (著名写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
1xiaohua1: 金币+2 2013-11-14 16:40:03
引用回帖:
5楼: Originally posted by 1xiaohua1 at 2013-11-11 02:12:20
你好,你说的我不太明白,能不能给个例子
        main主程序:
                       program  main
                                implicit none
                                real::a=2,b=3
    ...

先改下主程序,加上
real, external :: fun

然后改一下子程序
function  fun(x,y) result(z)

然后直接编译,就可以了
10楼2013-11-12 01:56:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 1xiaohua1 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 河北省自然科学基金 +5 Peterchao 2026-05-18 8/400 2026-05-24 11:58 by 晓晓爱翠翠
[基金申请] 西安交大新媒学院副院长用撤稿论文结题 +3 bjvtcliu 2026-05-24 5/250 2026-05-24 10:16 by kudofaye
[教师之家] 论文撤稿了 +3 bjvtcliu 2026-05-24 5/250 2026-05-24 10:06 by Equinoxhua
[教师之家] 某211大学教师把个人教师官方主页改成:我跑了我跑了我跑了!官宣跑路! +4 zju2000 2026-05-21 5/250 2026-05-24 09:35 by songwz
[考博] 26/27申博自荐 10+4 ZXW0202 2026-05-22 9/450 2026-05-24 08:47 by bjvtcliu
[硕博家园] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 hvkbtfonbv 2026-05-23 3/150 2026-05-24 08:01 by 9ps9vgkqva
[硕博家园] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 pmo95bazuy 2026-05-23 7/350 2026-05-24 06:35 by fpo5ljpv91
[基金申请] 揭秘青基评审内幕:几个A才能顺利中标 +3 国自然国社科中 2026-05-23 4/200 2026-05-23 15:37 by 2000zf36392
[基金申请] 青B发送上会通知了吗 +5 chemBioBro 2026-05-22 7/350 2026-05-23 12:35 by zhuifengzhy
[考博] 博士申请 +3 焦晓明 2026-05-21 3/150 2026-05-23 11:26 by mlc840311
[论文投稿] 投稿求助,期刊 +4 希冀,有书读 2026-05-20 8/400 2026-05-22 10:16 by 希冀,有书读
[文学芳草园] 献血感触 +7 呀呀好傻 2026-05-19 13/650 2026-05-21 20:15 by 呀呀好傻
[基金申请] 面上本子正文33页,违规吗?会被低分嘛? +14 1234567wang 2026-05-17 16/800 2026-05-21 17:58 by 脆脆的饼干
[基金申请] 国自然上会要求 +7 无名者登山 2026-05-18 11/550 2026-05-21 15:50 by draco1987
[基金申请] 提交了我也来说说感想 +9 fummck 2026-05-20 10/500 2026-05-21 14:17 by draco1987
[基金申请] 评审有感 +15 popular289 2026-05-18 26/1300 2026-05-21 10:35 by 西葫芦炒鸡蛋
[有机交流] 反应很差,大量原料没有反应 5+3 Mr.Zot 2026-05-19 8/400 2026-05-20 22:19 by Equinoxhua
[考博] 如果工作了想读博,可以边工作边读全日制嘛? 30+3 铁达火车 2026-05-18 5/250 2026-05-20 09:33 by tfang
[考博] 博士申请 +5 星…… 2026-05-18 6/300 2026-05-18 23:49 by 糊糊涂涂好
[硕博家园] 我在等一个没有答案的答案 +3 Love_MH 2026-05-17 3/150 2026-05-18 02:22 by 竹林孤影
信息提示
请填处理意见