f2py本来是用来转换fortran代码的,其实也可以转换c语言的代码,只是要自己写一个签名文件吧了!

以前都是用swig做的,现在发现用f2py其实更简单一点,但是对不懂fortran的人,还是使用swig较好.

因为接口文件(或签名文件的格式类似Fortran,而不是C语言).

请看示例:

/* File foo.c */

void foo(int n, double *x, double *y) {

int i;

for (i=0;i

y[i] = x[i] + i;

}

}

再编写一个签名文件

! File m.pyf

python module m

interface

subroutine foo(n,x,y)

intent(c) foo ! foo is a C function

intent(c) ! all foo arguments are

! considered as C based

integer intent(hide), depend(x) :: n=len(x) ! n is the length

! of input array x

double precision intent(in) :: x(n) ! x is input array

! (or arbitrary sequence)

double precision intent(out) :: y(n) ! y is output array,

! see code in foo.c

end subroutine foo

end interface

end python module m

使用命令行编译一下即可,在DOS窗口输入:

f2py m.pyf foo.c -c

下面就可以再Python中使用了这个模块了

>>> import m

>>> print m.__doc__

This module 'm' is auto-generated with f2py (version:2_2130).

Functions:

y = foo(x)

.

>>> print m.foo.__doc__

foo - Function signature:

y = foo(x)

Required arguments:

x : input rank-1 array('d') with bounds (n)

Return objects:

y : rank-1 array('d') with bounds (n)

>>> print m.foo([1,2,3,4,5])

[ 1. 3. 5. 7. 9.]

>>>

详细的内容大家可以参考:

c语言程序转python_使用f2py将C语言的函数转换为python模块相关推荐

  1. c语言函数封装成python库_使用f2py将C语言的函数转换为python模块

    f2py本来是用来转换fortran代码的,其实也可以转换c语言的代码,只是要自己写一个签名文件吧了! 以前都是用swig做的,现在发现用f2py其实更简单一点,但是对不懂fortran的人,还是使用 ...

  2. DSB算法C语言程序,单片机中使用DSB温度传感器C语言程序.doc

    单片机中使用DSB温度传感器C语言程序 单片机中使用DS18B20温度传感器C语言程序(参考1) /************************************************** ...

  3. c语言中fact函数怎么调用,C语言程序题: 1、编写一个求n!的函数fact(n),要求fact函数分别用递归和非递归两种方法实现...

    点击查看C语言程序题: 1.编写一个求n!的函数fact(n),要求fact函数分别用递归和非递归两种方法实现具体信息 答:int fac(int n) //非递归{int f=1; for(;n;) ...

  4. c语言程序执行时无法输入字符串,C语言程序设计中键盘输入数据的方法分析

    1. 引言 C语言程序设计是一门实践性很强的语言课程,在程序设计过程中经常需要从键盘输入所需要的数据.C语言没有专门的输入语句,可以调用C语言编译系统提供的函数库中的库函数来实现.有些程序虽然调试成功 ...

  5. c语言程序竞赛,2015年江西理工大学C语言程序设计竞赛(初级组)

    JankTao相亲记 解法:排序 #include #include #include #include #include #include #include #include using names ...

  6. c语言程序课程设计问题,矩形问题-C语言程序课程设课程设计(论文).doc

    矩形问题-C语言程序课程设课程设计(论文) PAGE PAGE \* MERGEFORMAT 20课程设计(论文)题 目 名 称 矩形问题 课 程 名 称 C语言程序课程设计 学 生 姓 名 xxx ...

  7. 在c语言程序中无论是整数还是实数,C语言基础题及参考答案

    C 第一单元程序设计和C语言 一.选择题 1.C语言的基本构成单位是: A . A. 函数 B. 函数和过程 C. 超文本过程 D. 子程序 2.一个C语言程序总是从 B 开始执行. A. 主过程 B ...

  8. c语言程序女设计教学效果分析,C语言程序设计的教学论文

    C语言程序设计的教学论文 1C语言程序设计教学方法研究 1.1理论教学 对于大多数课程而言,从宏观上将课程知识点及其关联讲授给学生非常必要,这便于学生更加系统深刻地理解所学内容.作为教材讲解C语言程序 ...

  9. 您用c语言程序画过画?用c语言程序画个爱“心”,祝大家春节愉快,身体健康,平安吉祥,牛气冲天!顺便温习一下c语言编写,及运行正确姿势

    前言 在这辞旧迎新的时刻,az_debugIT提前给您拜年啦️,您及全家春节愉快,身体健康,平安吉祥!牛气冲天! Today is the Eve of  lunar year of 2020. Ev ...

最新文章

  1. c printf 缓冲区分析
  2. php如何实现省市,PHP简单实现正则匹配省市区的方法
  3. cx+oracle+sql含中文,sql 判断字段值是是否包含中文字符
  4. lync2013 错误: 已为不同的传输层安全性(TLS)目标找到类型为“McxInternal”且完全限定的域名(FQDN)为...
  5. Shell脚本中循环select命令用法笔记
  6. JSP文件如何转换成Java文件?
  7. 052、JVM实战总结:从测试到上线:如何分析JVM运行状况及合理优化?
  8. php 怎么查看文件类型信息,php获取文件类型和文件信息的方法
  9. hdu 敌兵布阵(线段树之单点更新)
  10. 知识图谱研讨实录08丨肖仰华教授带你读懂知识图谱的质量控制
  11. Leetcode513. Find Bottom Left Tree Value找树左下角的值
  12. sql用java做界面设计_My Sql作为数据库,java作为应用程序?
  13. Spring Boot入门篇-@RequestParam/@RequestBody配置
  14. python加载mnist数据集
  15. PHP第一季视频教程.李炎恢.学习笔记(三)(第2章 基本语法(2))
  16. 与班尼特·胡迪一起攻破浮空城 (HZNU-2264)
  17. 2022茶艺师(中级)理论题库及答案
  18. 研究遭质疑,Jeff Dean回应:我们本就不是为得到新SOTA,成本计算也搞错了
  19. tensorflow:tensorflow进阶
  20. 论文投稿指南——中文核心期刊推荐(环境科学 2)

热门文章

  1. 【Web开发】良心教程视频推荐
  2. 中等专业学校计算机教师,中等专业学校计算机班主任老师年度工作总结
  3. echarts-china.js
  4. Qt(三)--- 实现QQ登陆界面头像状态栏的功能
  5. hac 估计 matlab程序,CV算法:K-means 、HAC、Mean Shift Clustering
  6. java计算机毕业设计线上订餐系统MyBatis+系统+LW文档+源码+调试部署
  7. 【UI】锤子手机-坚果手机-文艺青年版-配色色号
  8. 0xfffffff1 lr_CortexM处理器的一些特性记录
  9. I'm a pc - I'm a mac :FIT
  10. excel表格经纬度同表格分成经度纬度两个表格