c语言程序转python_使用f2py将C语言的函数转换为python模块
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模块相关推荐
- c语言函数封装成python库_使用f2py将C语言的函数转换为python模块
f2py本来是用来转换fortran代码的,其实也可以转换c语言的代码,只是要自己写一个签名文件吧了! 以前都是用swig做的,现在发现用f2py其实更简单一点,但是对不懂fortran的人,还是使用 ...
- DSB算法C语言程序,单片机中使用DSB温度传感器C语言程序.doc
单片机中使用DSB温度传感器C语言程序 单片机中使用DS18B20温度传感器C语言程序(参考1) /************************************************** ...
- c语言中fact函数怎么调用,C语言程序题: 1、编写一个求n!的函数fact(n),要求fact函数分别用递归和非递归两种方法实现...
点击查看C语言程序题: 1.编写一个求n!的函数fact(n),要求fact函数分别用递归和非递归两种方法实现具体信息 答:int fac(int n) //非递归{int f=1; for(;n;) ...
- c语言程序执行时无法输入字符串,C语言程序设计中键盘输入数据的方法分析
1. 引言 C语言程序设计是一门实践性很强的语言课程,在程序设计过程中经常需要从键盘输入所需要的数据.C语言没有专门的输入语句,可以调用C语言编译系统提供的函数库中的库函数来实现.有些程序虽然调试成功 ...
- c语言程序竞赛,2015年江西理工大学C语言程序设计竞赛(初级组)
JankTao相亲记 解法:排序 #include #include #include #include #include #include #include #include using names ...
- c语言程序课程设计问题,矩形问题-C语言程序课程设课程设计(论文).doc
矩形问题-C语言程序课程设课程设计(论文) PAGE PAGE \* MERGEFORMAT 20课程设计(论文)题 目 名 称 矩形问题 课 程 名 称 C语言程序课程设计 学 生 姓 名 xxx ...
- 在c语言程序中无论是整数还是实数,C语言基础题及参考答案
C 第一单元程序设计和C语言 一.选择题 1.C语言的基本构成单位是: A . A. 函数 B. 函数和过程 C. 超文本过程 D. 子程序 2.一个C语言程序总是从 B 开始执行. A. 主过程 B ...
- c语言程序女设计教学效果分析,C语言程序设计的教学论文
C语言程序设计的教学论文 1C语言程序设计教学方法研究 1.1理论教学 对于大多数课程而言,从宏观上将课程知识点及其关联讲授给学生非常必要,这便于学生更加系统深刻地理解所学内容.作为教材讲解C语言程序 ...
- 您用c语言程序画过画?用c语言程序画个爱“心”,祝大家春节愉快,身体健康,平安吉祥,牛气冲天!顺便温习一下c语言编写,及运行正确姿势
前言 在这辞旧迎新的时刻,az_debugIT提前给您拜年啦️,您及全家春节愉快,身体健康,平安吉祥!牛气冲天! Today is the Eve of lunar year of 2020. Ev ...
最新文章
- c printf 缓冲区分析
- php如何实现省市,PHP简单实现正则匹配省市区的方法
- cx+oracle+sql含中文,sql 判断字段值是是否包含中文字符
- lync2013 错误: 已为不同的传输层安全性(TLS)目标找到类型为“McxInternal”且完全限定的域名(FQDN)为...
- Shell脚本中循环select命令用法笔记
- JSP文件如何转换成Java文件?
- 052、JVM实战总结:从测试到上线:如何分析JVM运行状况及合理优化?
- php 怎么查看文件类型信息,php获取文件类型和文件信息的方法
- hdu 敌兵布阵(线段树之单点更新)
- 知识图谱研讨实录08丨肖仰华教授带你读懂知识图谱的质量控制
- Leetcode513. Find Bottom Left Tree Value找树左下角的值
- sql用java做界面设计_My Sql作为数据库,java作为应用程序?
- Spring Boot入门篇-@RequestParam/@RequestBody配置
- python加载mnist数据集
- PHP第一季视频教程.李炎恢.学习笔记(三)(第2章 基本语法(2))
- 与班尼特·胡迪一起攻破浮空城 (HZNU-2264)
- 2022茶艺师(中级)理论题库及答案
- 研究遭质疑,Jeff Dean回应:我们本就不是为得到新SOTA,成本计算也搞错了
- tensorflow:tensorflow进阶
- 论文投稿指南——中文核心期刊推荐(环境科学 2)
热门文章
- 【Web开发】良心教程视频推荐
- 中等专业学校计算机教师,中等专业学校计算机班主任老师年度工作总结
- echarts-china.js
- Qt(三)--- 实现QQ登陆界面头像状态栏的功能
- hac 估计 matlab程序,CV算法:K-means 、HAC、Mean Shift Clustering
- java计算机毕业设计线上订餐系统MyBatis+系统+LW文档+源码+调试部署
- 【UI】锤子手机-坚果手机-文艺青年版-配色色号
- 0xfffffff1 lr_CortexM处理器的一些特性记录
- I'm a pc - I'm a mac :FIT
- excel表格经纬度同表格分成经度纬度两个表格