Python调用C/Fortran混合的动态链接库--上篇

内容描述:

在32位或64位的windows或GNU/Linux系统下利用Python的ctypes和numpy模块调用C/Fortran混合编程的有限元数值计算程序

操作系统及编译环境:

32bit Win7 + mingw32 + gcc-4.8 + msys-1.0 + python2.7 + openblas-0.2.8

64bit Ubuntu 1404 + gcc-4.8 + python2.7 + openblas-0.2.8

任务分解:

1、打包有限元数值程序,生成dll或so格式;

2、Python脚本中利用ctypes和numpy定义输入输出变量并调用

释疑:

a、为啥不用F2PY?

答:F2PY项目停滞多年,且F03、F08标准下Fortran和C程序基本可以无缝对接。

b、为啥用ctypes?

答:ctypes是python自带的标准库,再说python本身就是C写的

c、为啥还有numpy?

答:numpy的ctypeslib模块提供了更简单方便的调用办法

原文地址:https://www.cnblogs.com/pasuka/p/3958302.html