我正在尝试为FLAC创建自己的包装器,以便我可以在自己的Python代码中使用FLAC.
我首先尝试使用ctypes,但它显示了一个非常奇怪的库接口,例如FLAC流和文件的所有init函数都成为一个函数,没有关于如何初始化它的真实信息.特别是因为它想要引用流解码器,但Python无法存储指针(BZZZT!),因此我无法将指针存储到流解码器.不同的init函数具有不同数量的参数并且一些参数类型不同也没有帮助.它还有很多枚举和结构,我不知道如何将它们放入我的代码中.
我一直在研究Pyrex,但是我有点遇到了与指针相同的问题,但我认为我已经解决了它的问题.该文件也不小,甚至还不完整.
所以我正在寻找可以帮助我更好地理解上述方法的替代方案或指南.如果我能得到推荐和/或帮助,那将会非常有帮助.
mta*_*c85 10
Python无法存储指针,因此我无法将指针存储到流解码器
ctypes有指针,ctypes可用于包装现有的C库.只需一个提示,您需要将所有相关C结构包装/重写为ctypes.Structure.请查看示例:code.google.com/p/pyxlib-ctypes和code.google.com/p/pycairo-ctypes.更多信息如何在http://docs.python.org/library/ctypes.html上映射函数/过程及其argtypes和restype
我一直在研究Pyrex,但是我有点遇到了与指针相同的问题,但我认为我已经解决了它的问题.该文件也不小,甚至还不完整.
如果你想要干净的语法,cython可能就是你所需要的.www.cython.org
所以我正在寻找可以帮助我更好地理解上述方法的替代方案或指南.如果我能得到推荐和/或帮助,那将会非常有帮助.
另一方面可以使用swig,但如果你不习惯它会更复杂.www.swig.org