Fortran如何调用模块中子程序

Fortran如何调用模块中子程序,第1张

把你写的function放在另一个.f文件里面,或者放在主程序语句外面(即子困凯程序枣缓形式)再来调用。主程序可调用function 和subroutine,所以,不用把凳尺模子程序function写在主程序里。如此则subroutine和主程序都可以随意调用function,注意调用时的实参(subroutine里面的参数)和虚参(function里面的参数)要变量类型一致,而且实参数目不少于虚参(这个很重要)。

大致思路就是只要不把他们放在一个拦轿主程序内就OK了,放在同一个文件或者不同.f文件都是一样的。对于第二个问题,回答也是可以的

比如说简友肆告首这样的程序调用:

PROGRAM MAIN

CALL SUB1

END

SUBROUTINE S

CALL SUB2

END

SUBROUTINE SUB2()

CALL SUB3

END

SUBROUTINE SUB3()

你的想法,叫做 “混合编程”,简称“混编”。

混编有多种方式,一般有:

1.直接调用 C 编译后的 exe

2.通过 DLL

3.通过静态 lib

4.通过编译器直接链接Fortran和C的obj

不管是 Fortran 还是 C 的语法,通常不会规定混编的具体内容。这些内容,是不同的编译器自行规定的。(至少绝大多数是)

所以,具体的 *** 作,也因你选择的编译神基御器产品,因你选择锋塌的混编方式,而游岩有较大的不同。

所以,我建议你:

1.阅读你使用的 C 编译器和 Fortran 编译器的帮助文档,查看其中关于混合编程(mix-language)的章节。

2.如果你阅读英文帮助有困难,至少告知你使用何种 C编译器,何种 Fortran 编译器。打算采用何种混编方式。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8265760.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存