Fortran Coder

查看: 6920|回复: 2
打印 上一主题 下一主题

[Module] 关于模块中的变量

[复制链接]

8

帖子

4

主题

0

精华

入门

F 币
59 元
贡献
38 点

规矩勋章

跳转到指定楼层
楼主
发表于 2016-3-16 19:55:34 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
大家好,有几个小问题想请教一下:
1,module中contains的subroutine或function里定义的变量在主程序里也不能有重名吗?(主程序use了module)
2,fortran中的include是把另外一个.f90文件的代码完全复制在这个位置是吗?
3,external 一定要用吗?没用好像也可以直接调用外部(写在另外一个.f90文件里)的函数...

谢谢!

分享到:  微信微信
收藏收藏1 点赞点赞 点踩点踩

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
沙发
发表于 2016-3-16 20:26:01 | 只看该作者
本帖最后由 vvt 于 2016-3-16 20:27 编辑

1. 可以重名。use module 只使用了 module 的公共变量,而没有使用contains下subroutine或function的局部变量
2. include 是完全复制粘贴。甚至与 fortran 语法都无关的。你可以参考下面的图片,完全不是fortran语法的文字,也可以利用 include 进行预处理




3. 外部subroutine可以不写 extrnal,外部 function 如果定义了也可以不写 external。实际上,当你把所有函数都封在 module 里,压根不需要 external,反正我很多年不写这个关键字了。

希望对你有用~

8

帖子

4

主题

0

精华

入门

F 币
59 元
贡献
38 点

规矩勋章

板凳
 楼主| 发表于 2016-3-17 18:37:45 | 只看该作者
vvt 发表于 2016-3-16 20:26
1. 可以重名。use module 只使用了 module 的公共变量,而没有使用contains下subroutine或function的局部变 ...

好详细啊,多谢~
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-11-23 13:44

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表