Python与C的交互方法

Python与C的交互方法总结

1、Python的拓展方法:在Python中调用C/C++编写的库
目的:提升关键代码性能,引入C语言成熟功能库
方式:Cython、SWIG、ctypes、CFFI
形式:py为主程序,C通过.dll/.so形式使用
①Cython:第三方库,思路:通过一种简单的语言来实现python和C的接口,方式:采用了Pyrex语法形式,结果:采用C数据类型的Python编程,实现混合编程
②SWIG:独立工具,一个将C/C++与脚本语言相整合的编译器。思路:通过编译器来实现python和C的接口,方式:纯C/C++编程,通过编写接口变成python模块,结果:独立C和python编程,重点在于编写接口。
③ctypes:标准库API,调用DLL或共享库的python功能函数库,思路:通过一个python标准库实现python拓展,方式:C语言功能编为.dll/.so库,API加载库及调用函数,结果:C语言独立编程,python使用库调用接口函数。
④CFFI:第三方库,在python中直接使用C函数的方式,思路:类似ctypes,使用API拓展C程序,也可以直接混合编程,方式:关注C函数的访问接口,而不是库函数,构建API,结果:C语言独立编程,python用CFFI独立编程,最小学习代价。

2、Python的嵌入方法:在C/C++程序中调用Python程序
目的:利用python高产,引入python成熟功能库
方式:python/C API
形式:C/C++为主程序,python通过源文件形式使用
原理:头文件python.h,包含python解释器、嵌入python语句及脚本、数据类型转换等函数

3、Python的调用方法:Python和C/C++间以程序级别互相调用
目的:模块间功能互用,以功能使用为目标
方式:子进程或线程方式,即subprocess
形式:C/C++和python都是独立程序
调用:①python调用C:subprocess模块 ②C调用python:system()函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大白曰梦想家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值