Python技术栈

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

Python技术栈 下载 开发库 查看内容
加入官方QQ群,更好去学习 群号:321222564黑马Python入门教程完整版(懂中文就能学会)视频慕课网 Python分布式爬虫打造搜索引擎Scrapy精讲【完整版】

Python 必备之 CFFI

2018-9-25 15:49| 发布者: admin| 查看: 914| 评论: 0

摘要: CFFI可以通过Python调用C的功能接口,基于一种类C声明,基本可以直接和任何C代码交互。(类C声明通常直接拷贝头文件即可) CFFI接口基于LuaJIT’s FFI ,遵循下面几条原则: 目标是在不学习第三种语言的情况下从Pyth ...
CFFI可以通过Python调用C的功能接口,基于一种类C声明,基本可以直接和任何C代码交互。(类C声明通常直接拷贝头文件即可)
CFFI接口基于LuaJIT’s FFI ,遵循下面几条原则: 目标是在不学习第三种语言的情况下从Python调用C代码。现有的替代方法要求用户学习特定语言(Cython、SWIG)或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库。

CFFI 主要用于何处?

C 外部函数接口库(CFFI)为 Python 应用程序与独立 C 库的交互提供了一种机制。虽然 Python 的 stock 版本,CPython,也拥有自己的库来完成此类功能,称为 Ctypes ,但对 Python 用户来说,比起 Ctypes ,CFFI 使得与 C 库的交互更容易、更简便。

CFFI 1.11 的功能

与 PyPy 一起更新的 CFFI v1.11 增加了很小但很有用的改动。现在可以在即将发布的 Python 3.7 上使用betas了,在 Windows 上更好地支持外部错误处理,并支持 C 语言中更多的现代标准类型,例如 float/double _Complex 和 char16_t和char_32t 类型。最后两个也是最重要的,在 C 库中默认使用 Unicode 编码。

何处下载 CFFI 1.11 ?

CFFI 在 Python Package Index 上可以单独下载,或通过 Python 的 pip 工具安装:pip install cffi 。源码和问题跟踪可以在 BitBucket 上找到。

1

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (1 人)


QQ|Archiver|手机版|小黑屋|Python.BBS ( 鲁ICP备18046958号 )

GMT+8, 2020-8-4 10:05 , Processed in 0.065194 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部