代码之家  ›  专栏  ›  技术社区  ›  G S

python c互操作性

  •  3
  • G S  · 技术社区  · 16 年前

    我想包装一个现有的C(纯C即。没有任何C++库到Python中,这样我就可以从Python脚本调用它。在各种可用方法(C API、Swig等)中,哪种方法最合适?

    3 回复  |  直到 16 年前
        1
  •  7
  •   Anycorn    16 年前

    与ctypes一起使用,它是标准发行版的一部分,并且工作得很好。 基本上,您可以在Python类以及函数中包装C结构和类型。库已经提供了一些类型和功能。

    ctypes

    不过,有两个注意事项:将三重指针传递给C例程并不明显(如果必须这样做的话),而且我不能让它与Linux、DLL和共享对象上的静态库一起工作。

        2
  •  4
  •   Kyle Lutz    16 年前

    Swig非常适合这样做。以下是一个示例教程: http://www.swig.org/Doc1.3/Python.html .

        3
  •  0
  •   whatnick    16 年前

    因为您的代码是“纯”C,所以您可以考虑使用 Pyrex Cython。这不是投票问题,赛通已经被提及。我只是在澄清为什么它是纯C的更好选择。