一个fortran文件中有多个子程序,现在想用C调用这个文件中的一个子程序,要怎么调用

一个fortran文件中有多个子程序,现在想用C调用这个文件中的一个子程序,要怎么调用,第1张

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

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

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

2.通过 DLL

3.通过静态 lib

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

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

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

所以,我建议你:

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

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

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


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存