我是 python 编程的新手,但是用 C 编程。我正在开发一个名为 EtherDogs 的项目,它是一个网络数据包分析器。如何为项目编写 python 包装器?
如果我必须为它做一个 C++ 包装器,这并不难,但我如何在 python 中做到这一点?
您应该尝试像SWIG这样的包装器生成器。手工编写胶水代码是重复和无聊的。为什么不让计算机为您完成简单的部分?
SWIG 将接收您的源文件和(最小)接口规范。它将生成 Python 代理类和 C/C++ 代码。您将 C/C++ 代码编译成 Python 扩展库,然后像使用纯 Python 库一样使用它。在后台,代理类 SWIG 生成将 Python 类型转换为/从对原始 C 函数的调用的句柄。
作为额外的好处,包装器生成器(包括 SWIG)通常可以为许多不同的高级语言创建绑定,而您只需很少或不需要额外的努力。