如果您必须为python编写C模块,您的首选是什么?

大家好,
我读了这篇有趣的帖子,将boost.python与pyd进行比较:http://pyd.dsource.org/vsboost.html
您对此有何看法?
当您为Python编写C/C ++模块时,您的首选是什么?

# 回答1


newpt ...@gmail.com:
那并不是一个帖子.
PYD效果很好,易于使用,几乎不需要额外
界面的代码,我已经使用了几次.但它是设计的
对于D,而不是C/C ++,因此在某些情况下,它可能没有用.对于C/C+
+您可以找到任何类型的lib,可以用swig/ sip/ boost python包裹/
Cython/等,但是您还找不到太多D. D社区是
很小,所以只有1个人更新PYD,因此更新是
缓慢,支持有限(但存在于#D IRC频道上)等等
上. d肯定不像C ++那么复杂,而且更好,但不是
也很简单,因此学习可能需要一些时间.另一件事
考虑到C代码有时甚至比
D代码,因此,如果最大速度是必不可少的,那么D可能不是最好的
选择.
再见,
# 回答2


在8月26日,14:19,»»park׫ 我更喜欢CTYPES或F2PY.后者也与C代码一起使用:
查看http://www.procoders.net/?p=189
f2py如果必须处理数值数据,则ctypes是不错的
更通用的接口共享液体,并包含
在Python2.5S标准lib中.
两种解决方案都比我使用的更轻巧
几年前,但在建造扩展时发现很复杂
在不同的平台上.
通常我在DLL/共享LIB中实现基本功能
这是由Python类包裹的,以提供Pythonic外观
并感觉.
问候,uwe
# 回答3


äˆ写道:
我正在使用手写C代码或Cython/Pyrex创建Python C
扩展.当您需要完整时,有时需要手写C代码
控制C代码和性能(速度或内存)对
该项目.手写C代码是您需要的唯一选择
可读性,可疑的C代码.
但是,如今,Cython非常适合大多数应用.是我的
首选包裹小到大图书馆的方法,我能够快速
并在几分钟之内得到足够的结果.
CTYPES非常适合小型应用程序,但我不将其用于认真
工作.它在计算机体系结构中太脆弱了,例如大/小
Endian机器或更重要的I386,AMD64/UNIX和AMD64/WIN32
操作系统.
SIP声称是包装C ++代码的最快,最简单的系统.这
Cython Wiki说,它比SWIG快40%.
克里斯蒂安
# 回答4


8月26日,上午8:19,»»»×׫ 1.普通C代码
2.在Python中实现我自己的C扩展代码生成器
3. CTYPES
...
...
无穷. swig
卡尔银行

标签: python

添加新评论