操作系统:CentOS 6(64 位)

我有一个 C 语言的动态库 (.so)。我想在它上面创建一个 Python 抽象层,然后用它来实现我的逻辑。我决定为此使用 CFFI,因为它不处理任何类型的 dsl(域特定语言)。

我想知道的几件事:

  • 是否有一些好的起点,我可以引用这样做(使用 cffi 加载和使用动态库)?官方网站上的文档讨论了这一点,但我正在寻找某处是否有一些具体的引用和一些例子。或者可能尝试过的人。
  • 这种方法可能有缺点吗?

  • 谢谢

    最佳答案

    两个好的起点:

  • 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

  • 在两者之间,将 wrapper 放在一起应该不会有太多麻烦。

    对于您的第二个问题:如果您要包装的共享库非常简单(例如,一些函数调用、简单的数据结构),您可能会发现 ctypes 更简单(因为它是标准库的一部分)。

    关于python - 如何在 python-cffi ( 在 linux 中) 中使用共享动态库?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24944483/

    10-12 18:01