| 查看: 2898 | 回复: 1 | |||
[交流]
Module procedure和external procedure之间有区别吗?
|
|
前段时间我把自己写的子程序都放在了Module里面,然后通过use调用。 但这两天突然发现好像不需要专门弄个Module来放这些子程序,直接当成外部子程序就行了。 这样想想,直接当成外部子程序即少写了些代码又少生成了些中间文件,这样不是更好吗? 所以想问下各位高手有必要把子程序放到module里吗,什么时候有必要? 根据fortran95标准上的说明,在调用Module procedure时其接口是explicit的,而在调用external procedure时其接口是implicit的。对于这个说明我有时理解不过来,体会不深。希望有体会的人来指教下。 |
» 猜你喜欢
河北省自然科学基金
已经有8人回复
云南大学材料与能源学院解琳课题组钙钛矿博士招生
已经有7人回复
西安交大新媒学院副院长用撤稿论文结题
已经有5人回复
论文撤稿了
已经有5人回复
某211大学教师把个人教师官方主页改成:我跑了我跑了我跑了!官宣跑路!
已经有5人回复
26/27申博自荐
已经有9人回复
售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急
已经有3人回复
售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急
已经有7人回复
揭秘青基评审内幕:几个A才能顺利中标
已经有4人回复
青B发送上会通知了吗
已经有7人回复
» 抢金币啦!回帖就可以得到:
山东第一医科大学泰山学者团队2026年招收副教授、博士后(不限专业)
+1/84
武汉工程大学(省属一本)招聘师资博士后以及人才引进教师(事业编)
+1/83
替投稿20天的论文祈福
+1/71
湖南师范大学(211)—招收材料专业“申请-考核”制博士(有光学经验者优先)
+1/48
【王宁利院士团队招聘】眼科学博士3人
+1/33
安徽大学俞洋洋课题组招收化学方向博士生1人
+1/33
江西理工大学稀土学院急招博士生(2026年9月入学)2名,稀土光功能材料方向,非诚勿扰
+1/31
招聘青年教师(有编制)——南京邮电大学柔性电子全国重点实验室徐申课题组
+1/30
【博士招生】武汉科技大学招收材料、化工、环境、冶金类2026年“申请-考核”制博士生
+1/17
紧急招收2026年秋季入学博士生1名(湘潭大学 固体废弃物低碳利用湖南省工程研究中心)
+1/16
中国农业大学资源与环境学院 - 招聘杰出人才、青年研究员、优秀人才和博士后
+1/14
南京农业大学2026年申请考核制博士招生:最后一批啦!
+1/14
深圳大学物理与光电工程学院/深圳先进光源研究院招收2026级联合培养博士生
+1/13
环氧彩砂自流平地坪施工及验收规范
+1/9
合成
+1/8
紧急招收2026年秋季入学博士生1名(河北工大/北京科技大学联合 增材制造/生物材料)
+1/6
2026年中国石油大学(北京)理学院招博士1名-地质、分子模拟(急急急到5月25日)
+1/6
北航杭州国际校区招聘3D 打印、陶瓷材料等博后
+1/5
【内蒙古科技大学冶金工程专业博士招生】
+1/2
易度质量流量计在防水透气膜透气性测试中的应用
+1/1
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
小木虫: 金币+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












回复此楼