| 查看: 2908 | 回复: 1 | |||
[交流]
Module procedure和external procedure之间有区别吗?
|
|
前段时间我把自己写的子程序都放在了Module里面,然后通过use调用。 但这两天突然发现好像不需要专门弄个Module来放这些子程序,直接当成外部子程序就行了。 这样想想,直接当成外部子程序即少写了些代码又少生成了些中间文件,这样不是更好吗? 所以想问下各位高手有必要把子程序放到module里吗,什么时候有必要? 根据fortran95标准上的说明,在调用Module procedure时其接口是explicit的,而在调用external procedure时其接口是implicit的。对于这个说明我有时理解不过来,体会不深。希望有体会的人来指教下。 |
» 猜你喜欢
国自然申请五篇代表作大比拼,感觉这个是最重要的
已经有4人回复
E0414, 我的本子有没有希望?
已经有13人回复
看《给阿ma的情书》有感
已经有4人回复
雷雨
已经有3人回复
青A35岁以下通知答辩了吗
已经有3人回复
希望面上有个好结果
已经有7人回复
三区计算机方向期刊推荐
已经有5人回复
» 抢金币啦!回帖就可以得到:
代友征(上海)-江浙沪独女生,等一个年下的他
+3/561
郑州大学急招1名2026级博士生
+1/471
山东征女友,坐标济南
+1/170
MOCVD 外延GaN和AlN以及LED服务
+1/85
Cu2O纳米线
+5/70
哈工大深圳-材料学院-招收申请审核制2027年春季/秋季入学博士生(2026年9月报名)
+1/34
中山大学智能工程学院【空间智能方向】招收2027年入学博士生
+2/34
中山大学智能工程学院【智能视觉方向】金枝教授团队招聘博士后
+2/30
东南大学有机多孔功能材料团队(国家杰青团队)招收2027级推夏令营免硕士/直博生
+1/29
澳大利亚西澳大学招收交通工程/智能交通方向博士生
+1/15
求助最新版ISO 5817
+1/10
2027年博士申请自荐信(药学方向可接受跨专业)
+1/9
四川大学周加境课题组招聘博士后/博士/研究助理(生物质与藻类资源利用/自组装材料)
+1/8
中国科学院生态环境研究中心环境工程与公卫方向招(联合培养)博士和硕士研究生
+1/8
东北师范大学荒漠与草地生态学方向诚聘博士后青年才俊
+1/8
墨尔本大学(26年QS19)招全奖博士/CSC博士(补齐全奖)/访问学者等-材料/生物医学等
+1/7
墨尔本大学(26年QS19)招全奖博士/CSC博士(补齐全奖)/访问学者等-材料/生物医学等
+1/6
化学识别核酸的综述投稿
+1/5
美国普渡大学(Purdue University)生物化学系招聘博士后
+1/4
中国科学院杭州医学研究所赵猛课题组科研助理招聘启事
+3/2
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
小木虫: 金币+0.5, 给个红包,谢谢回帖
btx97: 金币+10, 感谢你这么详细的解答。很有帮助,谢谢。 2013-11-22 05:56:48
小木虫: 金币+0.5, 给个红包,谢谢回帖
btx97: 金币+10, 感谢你这么详细的解答。很有帮助,谢谢。 2013-11-22 05:56:48
|
放在module里好处不少!首先不会多写代码吧,只是多了module/contains/end module三行。用module的话可以把相同功能的子程序以及对应的数据封装在同一个module里。同时一个类的定义也可以和与这个类相关的子程序放在一起。 explicit的意思是函数的interface隐含在module里了,就是module本身保存了变量个数、类型、维度之类的信息。如果用implicit interface,编译器编译时只知道过程的名字,甚至如果你的变量个数不对,编译时都无法发现。如果要加入这样的信息,需要在调用这个过程的程序加入interface block。use了一个类的话,就不需要 implicit interface有很多功能都用不了,比如有可选参数的函数,elemental procedure,有自动数组维度的数组(assumed shaped array),generic interface等,你也不能按参数名指定参数(比如call sub(a=x,b=c)),另外只有一个module内部的过程才能调用这个module的private component。基本上f90比较好用的新功能都用不了。external procedure必须在调用时加interface block才能有explicit interface。 |
2楼2013-11-21 23:35:46











回复此楼