我一直在看人们写包装器,比如用X语言编写的模块,用它来用Y语言编写。我想知道编写这些包装器的基础知识。从哪里开始?我的问题更具体针对libgnokii,我该如何开始为它编写python绑定。
答案 0 :(得分:7)
您可以先阅读此内容:extending python with c or c++然后当您认为麻烦太多时,可以查看swig或Boost.Python。 ctypes也可能有用。
我已经完成了c ++类的手动包装,我使用了swig。 swig更容易使用,但最后我想做一些不容易做的事情(或者我只是懒得弄清楚如何)。所以我最终做了手动包装。这有点工作,但如果你知道一点C,那就非常可行了。
答案 1 :(得分:2)
您可以首先查看here以获取有关使用C扩展Python的信息。您可能想要考虑如何将libgnokii的API转换为Pythonic的内容。如果你不想做很多工作,你可以编写一个瘦包装器,将所有gnokii API调用转换为Python函数。