24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 3024  |  回复: 6

信任开花

铁杆木虫 (知名作家)

[交流] 【求助】Fortran如何调用模块中子程序 已有1人参与

我在写main.f90程序的时候,需要调用test1.f90中的fun3函数


而test1.f90是一个模块函数:

module test_test
………………
……………………

SUBROUTINE fun3

……………………

……………………
end module test_test


我在main.f90中用了

program main

         use test_test

…………………………
…………………………
…………………………
call fun3
…………………………

…………………………
end program main

然后编译的时候出现错误:main.f90(281): error #6405: The same named entity from different modules and/or program units cannot be referenced.


不知该如何处理?


谢谢大家帮助
回复此楼
从不温柔,从不体贴,从不讲理
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbbb188

铜虫 (初入文坛)


余泽成(金币+1):谢谢参与应助! 2010-09-06 20:50:19
信任开花(金币+5):谢谢提醒和关注 2010-09-07 17:40:22
其他模块中有同名的函数,检查一下吧
2楼2010-09-06 19:39:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信任开花

铁杆木虫 (知名作家)

引用回帖:
Originally posted by dbbb188 at 2010-09-06 19:39:24:
其他模块中有同名的函数,检查一下吧

其实上面已经说比较清楚啦哈,我也知道是这个错误

就是不知道怎么调用模块中的子函数或者子程序


然后我的主程序中包含如下语句:

use module
…………
call fun()

其中模块中包含了子程序fun()

所以出现了以上的同名函数的错误
从不温柔,从不体贴,从不讲理
3楼2010-09-07 08:08:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liubin1984

木虫 (著名写手)

不纠结的男人

信任开花(金币+5):谢谢,我刚开始学,不知道如何声明,可否举个例子? 2010-09-07 17:38:16
引用回帖:
Originally posted by 信任开花 at 2010-09-07 08:08:21:

其实上面已经说比较清楚啦哈,我也知道是这个错误

就是不知道怎么调用模块中的子函数或者子程序


然后我的主程序中包含如下语句:

use module
…………
...

在主程序前声明一下子例行程序看看
路漫漫其修远兮,吾将上下而求索
4楼2010-09-07 17:34:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信任开花

铁杆木虫 (知名作家)

引用回帖:
Originally posted by liubin1984 at 2010-09-07 17:34:30:

在主程序前声明一下子例行程序看看

不知道如何声明啊

可能举个例子呢
从不温柔,从不体贴,从不讲理
5楼2010-09-07 17:39:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liubin1984

木虫 (著名写手)

不纠结的男人


信任开花(金币+5):正在编译,看看行不行 2010-09-07 17:45:01
余泽成(金币+1):谢谢参与应助! 2010-09-07 23:50:50
引用回帖:
Originally posted by 信任开花 at 2010-09-07 17:39:00:

不知道如何声明啊

可能举个例子呢

不知道能不能用,就是在主程序声明部分中声明一下子例行程序,例如
SUBROUTINE Fun3
就是简单的声明一下,具体情况能把代码发上来看看么
路漫漫其修远兮,吾将上下而求索
6楼2010-09-07 17:43:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ChemiAndy

木虫 (正式写手)


★ ★
小木虫: 金币+0.5, 给个红包,谢谢回帖
xzhdty: 金币+1, 欢迎常来程序语言 2012-05-17 06:24:20
偶然遇到了一个类似的问题,发现了解决办法:
使用多个module,可能会遇到变量名成或是函数名称重复的问题,解决办法是在use命令后面临时把module里面的变量或是函数名称改名。。e.g.:

module A
  implicit none
  integer va
end module

module B
  implicit noe
  integer va
end module

programe main
  use A, aa=>va  !把module A中的变量va临时改为aa来使用
  use B
  implicit none
  ...

(ref: http://wenku.baidu.com/view/45ad2564783e0912a2162a81.html)
7楼2012-05-17 05:38:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 信任开花 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 304求调剂 +3 luoye0105 2026-04-05 3/150 2026-04-05 18:16 by 土木硕士招生
[考研] 295求调剂 +8 FZAC123 2026-04-03 8/400 2026-04-05 17:46 by 蓝云思雨
[考研] 0703化学 +12 妮妮ninicgb 2026-04-04 13/650 2026-04-05 10:46 by 啊俊!
[考研] 323求调剂(计算机视觉和大模型项目经历) +3 chaoxiicy 2026-03-31 3/150 2026-04-05 10:33 by zhq0425
[考研] 求生物学学硕调剂——364分 +7 云朵遛弯指南 2026-04-04 7/350 2026-04-04 22:49 by zhyzzh
[考研] 材料调剂 +15 一样YWY 2026-04-01 15/750 2026-04-04 22:23 by hemengdong
[考研] 316求调剂 +9 墨辰_Orion926 2026-04-04 9/450 2026-04-04 21:35 by lbsjt
[考研] 272求调剂 +4 松柏常青5 2026-04-03 4/200 2026-04-04 17:03 by babysonlkd
[考研] 085600材料与化工调剂 +26 kikiki7 2026-03-30 27/1350 2026-04-04 09:18 by qlm5820
[考研] 268求调剂 +8 你好tg 2026-04-03 9/450 2026-04-04 05:08 by gswylq
[考研] 调剂0855-288 +5 x熊二a 2026-04-03 5/250 2026-04-04 00:19 by 猪会飞
[考研] 求调剂 +4 压力??大 2026-04-03 4/200 2026-04-03 21:36 by 啵啵啵0119
[考研] 295求调剂 +3 尚偌呀 2026-04-03 4/200 2026-04-03 21:23 by zhq0425
[考研] 一志愿华中农业071010,总分320求调剂 +7 困困困困坤坤 2026-04-02 7/350 2026-04-03 17:26 by Yuena_Wang
[考研] 学硕机械工程303求调剂 +6 无名所以叫吴明 2026-03-30 7/350 2026-04-03 16:48 by asdfzly
[考研] 315分 085602 求调剂 +15 26考研上岸版26 2026-04-02 15/750 2026-04-03 12:45 by xingguangj
[考研] 372分材料与化工(085600)一志愿湖南大学求调剂 +5 蓝笺片 2026-04-02 6/300 2026-04-02 21:37 by dongzh2009
[考研] 一志愿华南师范大学-22408计算机-292分-求华南师范大学调剂 +4 爱读书的小鳄鱼 2026-04-02 4/200 2026-04-02 18:35 by 求调剂zz
[考研] 求0861交通运输专硕or材料专硕调剂 +4 勒布朗@ 2026-03-31 4/200 2026-04-01 09:54 by 一只好果子?
[考研] 土木304求调剂 +5 顶级擦擦 2026-03-31 5/250 2026-04-01 08:15 by fdcxdystjk¥
信息提示
请填处理意见