静态库的ctypes?

时间:2010-06-06 09:03:24

标签: python static-libraries ctypes

我正在尝试为poker-eval编写一个Python包装器,这是一个静态库。我在ctypes上找到的所有文档都表明它适用于共享/动态库。是否有静态库的ctypes?

我知道cython,但是我应该使用它还是将poker-eval重新编译成动态库,以便我可以使用ctypes?

谢谢,

麦克

2 个答案:

答案 0 :(得分:8)

选择取决于你。如果你能够将库重新编译为共享对象,我建议,因为它将最小化你必须维护的非python代码。否则,您将需要构建一个链接到静态库并包装它公开的函数的python扩展模块。

你提到过Cython;如果您走这条路线,这是相关的手册页:

http://docs.cython.org/src/tutorial/clibraries.html

还有SWIG和Pyrex。

答案 1 :(得分:1)

我不能肯定地说那里没有模块,但是动态库的优势(使用更少的空间,可以在不重新编译依赖程序的情况下进行更新)这样你就可以做得更好了。