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 编译器。打算采用何种混编方式。

你好,我也遇到过这个问题,刚刚解决了。出错的原因在于你写subroutine的时候,有一些引用的参数,而你在CALL 这个SUBROUTINE时,参数与子程序写的参数不统一,如:

CALL CONSTRUCT_X(Mloc,Mloc1,Nloc,DX,U,DelxU,UxL,UxR,Kappa)

。。。。。。

SUBROUTINE CONSTRUCT_X(M,M1,N,DX,Vin,Din,OutL,OutR,Kappa,D2X)

我的是这样的,subroutine里加了一个变量D2X,而call 时没有对应修改,所以出错,直接把call语句修改一下就ok了,改成:

CALL CONSTRUCT_X(Mloc,Mloc1,Nloc,DX,U,DelxU,UxL,UxR,Kappa,D2X)

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

原文地址:https://54852.com/langs/13492109.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-09-01
下一篇2025-09-01

发表评论

登录后才能评论

评论列表(0条)

    保存