CFFI - 简介

CFFI可以通过Python调用C的功能接口,基于一种类C声明,基本可以直接和任何C代码交互。(类C声明通常直接拷贝头文件即可)

| 版权声明:itisyang,未经博主允许不得转载。

CFFI接口基于LuaJIT’s FFI ,遵循下面几条原则:

  • 目标是在不学习第三种语言的情况下从Python调用C代码。现有的替代方法要求用户学习特定语言(CythonSWIG)或API (ctypes)。CFFI设计只要求用户知道C和Python,尽量减少需要学习的额外API。
  • 将所有与Python相关的逻辑保持在Python中,所以你不需要些大量的C代码(不像CPython native C extensions)。
  • 首选API级别上运行(Application Programming Interface):C编译器根据你写的声明直接链接C结构。或者,也可以选择ABI级别(Application Binary Interface):这种方式通过ctypes运行。
  • 目前不支持一些C99结构,但所有C89结构都应该支持,包括宏。
  • 正在尝试支持 PyPy 和 CPython,为IronPython和Jython等其他Python实现提供合理的路径
  • 注意,与Weave不同的是,这个项目并不是要在Python中嵌入可执行C代码。而是从Python调用现有的C库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值