编写绑定和封装器
我经常看到有人为某个用X语言写的模块,写一个包装器,这样就可以在Y语言中使用。我想了解一下写这种包装器的基本知识。应该从哪里开始呢?我这里的问题更具体一些,关于libgnokii,我该如何开始为它写Python的绑定呢。
2 个回答
2
你可以先去这里看看关于用C语言扩展Python的信息。在这个过程中,你可能需要考虑如何把libgnokii的接口转换成Python风格的东西。如果你不想做太多工作,可以简单地写一个薄薄的包装器,把所有的gnokii接口调用转换成Python函数。
7
你可以先看看这个链接:用C或C++扩展Python。当你觉得这太麻烦的时候,可以试试swig,或者可能会用到Boost.Python。ctypes也可能会对你有帮助。
我之前手动包装过C++类,也用过swig。swig用起来简单多了,但最后我想做一些不太容易实现的事情(或者说我懒得去研究怎么做)。所以我最后还是选择了手动包装。虽然这有点工作量,但如果你对C有一点了解,其实是可以做到的。