Fortran与C混合编程,C调用Fortran函数,Fortran再回调C中的函数
来源:互联网 发布:mac系统镜像安装.dmg 编辑:程序博客网 时间:2024/04/30 07:53
在Fortran与C的混合编程中经常要实现这样的功能,C调用Fortran中的函数进行数值计算,但是Fortran要将数据计算的进度传回C中以便显示和控制,如何实现此功能呢?
举例如下:
Fortran 代码:
! Callback to a C function with no return value and no argumentsSUBROUTINE call_sub(fc) BIND(c) USE ISO_C_BINDING TYPE (C_FUNPTR),VALUE :: fc PROCEDURE(), POINTER :: f CALL C_F_PROCPOINTER(fc, f) CALL f()END SUBROUTINE call_sub
C代码:
#include <stdio.h>void hello(void) { printf("Hello\n");}// Declaration of Fortran function that will make the callbackvoid call_sub(void(*f)(void));int main(void) { call_sub(hello);}
注意:Fortran中
TYPE (C_FUNPTR),VALUE :: fc
的VALUE不能省略,因为函数已经是按指针传递了,如果再按reference调用就会出错。
参考:http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/b254204444067956?pli=1
- Fortran与C混合编程,C调用Fortran函数,Fortran再回调C中的函数
- FORTRAN/C/C++混合编程
- Fortran与C的混合编程
- Fortran与C语言混合编程中的文件处理
- fortran中调用C封装的函数
- windows下intel C/Fortran 混合编程
- windows下intel C/Fortran 混合编程
- FORTRAN/C/C++混合编程注意事项
- 【混合编程实例】C/C++调用FORTRAN编写的DLL
- Fortran与C/C++的混合开发
- Fortran与C混合编程(转自Ubuntu)
- f2py支持在fortran语言中调用其他Fortran函数或C代码或Python代码
- f2py支持在fortran语言中调用其他Fortran函数或C代码或Python代码
- C 与 Fortran 的相互调用
- 【转载】Fortran调用C程序
- Fortran调用C语言小计
- C/C++/Fortran混合编程浅谈------直接链接方式
- .Net(c#) 通过 Fortran 动态链接库,实现混合编程
- Java异常体系
- 三列等宽,自动扩展的 div css
- ClamAV学习【7】——病毒库文件格式学习
- 各国的手机制式和频率
- 两个队列实现栈和两个栈实现队列
- Fortran与C混合编程,C调用Fortran函数,Fortran再回调C中的函数
- 海量数据处理面试题
- 关于pageadmin配置过程中没有安全选项的问题解决方案
- Hadoop 双机热备-AvatarNode部署
- jxl操作excel
- 外部网站速度极慢
- 系统调用和系统库函数的一些基础知识
- php中 Perl兼容正则表达式 后缀选项
- 如何在PostgreSQL中添加id自增列