小编rom*_*lof的帖子

Python-C集成:Ctypes,CFFI或创建二进制模块

基本上我想用C编写的Python程序调用函数.

所以(据我所知)我的选择是:

  • CTypes/CFFI
    • 创建包含C函数的DLL/SO/DyLib,并使用CTypes或CFFI访问它们.显然CFFI更快,唯一的缺点是必须在python中声明所有函数签名.
    • 优点:
      • 不必在我的C函数中进行任何调整.所有类型转换都是在Python中完成的.
    • 缺点:
      • 表现?
  • Python二进制模块
    • 在C中编写一个python接口,将我的C模块转换为二进制python模块
    • 优点:
      • 表现?
    • 缺点:
      • 所有类型转换都在C语言中完成.使用[SIP] [3]这可能是自动化的.

将C模块转换为python二进制模块真的更快吗?

两个解决方案是否都支持向C函数发送python回调?

SIP是生成python接口的好选择吗?还有其他选择吗?

其中任何一个都有其他特殊性吗?

c python python-c-extension python-sip python-cffi

7
推荐指数
1
解决办法
3762
查看次数

标签 统计

c ×1

python ×1

python-c-extension ×1

python-cffi ×1

python-sip ×1