操作系统:CentOS 6(64位)
我在 C 中有一个动态库 (.so)。我想在它上面创建一个 Python 抽象层,然后用它来实现我的逻辑。我决定为此使用 CFFI,因为它不处理任何类型的 dsl(域特定语言)。
我想知道的几件事:
- 是否有一些好的起点可以参考(使用 cffi 加载和使用动态库)?官方网站上的文档讨论了这一点,但我正在寻找是否有一些具体的参考和一些例子。或者可能已经尝试过的人。
- 这种方法可能有缺点吗?
谢谢
操作系统:CentOS 6(64位)
我在 C 中有一个动态库 (.so)。我想在它上面创建一个 Python 抽象层,然后用它来实现我的逻辑。我决定为此使用 CFFI,因为它不处理任何类型的 dsl(域特定语言)。
我想知道的几件事:
谢谢
两个很好的起点:
CFFI 文档,特别是 ABI 异常示例:https ://cffi.readthedocs.org/en/latest/overview.html#out-of-line-example-abi-level-out-of-line
我的 CFFI 示例存储库:https ://github.com/wolever/python-cffi-example
在两者之间,你不应该有太多麻烦把你的包装放在一起。
对于您的第二个问题:如果您要包装的共享库非常简单(例如,一些函数调用、简单的数据结构),您可能会发现ctypes
更简单(因为它是标准库的一部分)。