24小时热门版块排行榜    

查看: 2001  |  回复: 6

li_clifff

银虫 (正式写手)

[求助] 请教如何调用Module里面的函数,谢谢

在彭国伦的《Fortran 95程序设计》里面好像里面的程序后缀都是f90,为什么不是f95呢?他在第11章里面谈到Module的应用,里面的程序是把整个module放在f90文件的前面,然后是program主体,这样写的程序编译运行是没有问题的。问题是如果我建的module里面函数(或子程序)很多,把这么一大段代码和主体的program放在一起显得有点头重脚轻,有没有其他的方法,比如program就是单独的一个f文件,他直接use module就可以了,但是怎么能把module链在一起呢?

请大家帮忙指点一下,非常感谢!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

ben_ladeng: 专家考核存档 2011-09-28 11:39:29
Fortran 90 后的源代码都可以用 .f90 作为后缀,或者说,后缀其实不重,你用 .for,或者 .f 都没有什么问题,当然,有一些约定俗成的规则,不过编译器通常都有相应的选项,因此,不必纠结这个,你用 .f95 也都没有问题……

你可以把 Module 和程序主体文件分别放在不同的文件中,但编译时,首先需要编译 Module,然后再编译主程序,这样没有什么问题……
2楼2011-09-28 11:27:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

li_clifff

银虫 (正式写手)

引用回帖:
2楼: Originally posted by snoopyzhao at 2011-09-28 11:27:07:
Fortran 90 后的源代码都可以用 .f90 作为后缀,或者说,后缀其实不重,你用 .for,或者 .f 都没有什么问题,当然,有一些约定俗成的规则,不过编译器通常都有相应的选项,因此,不必纠结这个,你用 .f95 也都没有 ...

编译需要在同一个路径下吗?我试试看
3楼2011-09-28 11:47:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

li_clifff(金币+15): 谢了 2011-09-28 12:59:55
引用回帖:
3楼: Originally posted by li_clifff at 2011-09-28 11:47:24:
编译需要在同一个路径下吗?我试试看

应该是可以的,这个主要看如何把相关的路径啥的传递给你的编译器,或许写个 Makefile 之类的比较方便一些,不过我没有这方面的经验,只是看到过这样的组织方式……
4楼2011-09-28 12:36:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

li_clifff

银虫 (正式写手)

引用回帖:
4楼: Originally posted by snoopyzhao at 2011-09-28 12:36:29:
应该是可以的,这个主要看如何把相关的路径啥的传递给你的编译器,或许写个 Makefile 之类的比较方便一些,不过我没有这方面的经验,只是看到过这样的组织方式……

Module可以单独写个文件吗,我还是青睐直接写lib文件,调用它
5楼2011-09-29 12:19:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

引用回帖:
5楼: Originally posted by li_clifff at 2011-09-29 12:19:03:
Module可以单独写个文件吗,我还是青睐直接写lib文件,调用它

可以啊,我没有写过 lib,呵呵……
6楼2011-09-29 13:51:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jiayanhui

木虫 (正式写手)

大木虫

直接USE+ module 名字就可以
春天来了
7楼2011-09-29 14:33:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 li_clifff 的主题更新
信息提示
请填处理意见