编写绑定和封装器

7 投票
2 回答
4313 浏览
提问于 2025-04-16 01:21

我经常看到有人为某个用X语言写的模块,写一个包装器,这样就可以在Y语言中使用。我想了解一下写这种包装器的基本知识。应该从哪里开始呢?我这里的问题更具体一些,关于libgnokii,我该如何开始为它写Python的绑定呢。

2 个回答

2

你可以先去这里看看关于用C语言扩展Python的信息。在这个过程中,你可能需要考虑如何把libgnokii的接口转换成Python风格的东西。如果你不想做太多工作,可以简单地写一个薄薄的包装器,把所有的gnokii接口调用转换成Python函数。

7

你可以先看看这个链接:用C或C++扩展Python。当你觉得这太麻烦的时候,可以试试swig,或者可能会用到Boost.Pythonctypes也可能会对你有帮助。

我之前手动包装过C++类,也用过swig。swig用起来简单多了,但最后我想做一些不太容易实现的事情(或者说我懒得去研究怎么做)。所以我最后还是选择了手动包装。虽然这有点工作量,但如果你对C有一点了解,其实是可以做到的。

撰写回答