| 查看: 2824 | 回复: 1 | |||
[交流]
Module procedure和external procedure之间有区别吗?
|
|
前段时间我把自己写的子程序都放在了Module里面,然后通过use调用。 但这两天突然发现好像不需要专门弄个Module来放这些子程序,直接当成外部子程序就行了。 这样想想,直接当成外部子程序即少写了些代码又少生成了些中间文件,这样不是更好吗? 所以想问下各位高手有必要把子程序放到module里吗,什么时候有必要? 根据fortran95标准上的说明,在调用Module procedure时其接口是explicit的,而在调用external procedure时其接口是implicit的。对于这个说明我有时理解不过来,体会不深。希望有体会的人来指教下。 |
» 猜你喜欢
假如你的研究生提出不合理要求
已经有4人回复
论文终于录用啦!满足毕业条件了
已经有27人回复
所感
已经有3人回复
要不要辞职读博?
已经有7人回复
不自信的我
已经有11人回复
北核录用
已经有3人回复
实验室接单子
已经有3人回复
磺酰氟产物,毕不了业了!
已经有8人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有10人回复
26申博(荧光探针方向,有机合成)
已经有4人回复
» 抢金币啦!回帖就可以得到:
求一个访问学者邀请函,非常非常感谢
+1/677
16年了,来看看大家
+1/198
DNA甲基化位点定量试剂盒(qPCR版)-适合特定基因位点5mC定量检测
+1/84
上海大学昝鹏教授、军事医学研究院伯晓晨研究员/倪铭副研究员 课题组招聘博士生
+1/76
坐标济南,山东农科院招 有机合成 or 药物化学 联培硕士研究生
+1/37
考核制博士自荐
+1/37
深圳信息职业技术大学-博后招聘(优秀可留校)
+1/31
北京化工大学化学工程学院杨琪教授 邱介山教授,招收储能电池方向博士研究生
+1/31
可以用同一个研究内容申请青C和博士后面上吗
+1/23
SCI,计算机相关可以写
+1/21
SCI,计算机相关可以写
+1/19
SCI,计算机相关可以写
+1/19
SCI,计算机相关可以写
+1/17
福建师范大学柔性电子学院招收2026年博士(储能材料与柔性电子器件)
+2/14
长江学者团队招聘药学/生物信息学等方向高校教师7名(地点杭州、有事业编)+博后5名
+1/8
河南师范大学科研助理岗位招聘
+1/7
【博士后/科研助理招聘-北京理工大学-集成电路与电子学院-国家杰青团队】
+1/7
2026 博士自荐-机器人机构学方向
+1/4
北京工业大学材料学院吴玉锋教授、王长龙研究员招收博士研究生
+1/3
[招募] 上海交通大学环境健康课题组科研实习生(环境健康与生物学大数据方向)
+1/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












回复此楼