包装类:为C项目创建Python包装器

3

我是一个Python编程新手,但我已经有C语言的编程经验。我正在开发一个名为EtherDogs的网络数据包分析工具。如何为该项目编写Python封装?

如果我需要为它编写C++封装,那么这并不困难,但如何在Python中实现呢?

1个回答

4
你可以尝试使用类似于SWIG的包装器生成器。手动编写glue code是重复性和枯燥的。为什么不让计算机为您完成易于部分呢?
SWIG将接受您的源文件和极简接口规范。它会生成Python代理类和C/C++代码。您将C/C++代码编译为Python扩展库,然后像使用纯Python库一样使用它。在底层,SWIG生成的代理类处理将Python类型转换为原始C函数调用和反之。
作为额外的奖励,包装器生成器(包括SWIG)通常可以为许多不同的高级语言创建绑定,而您不需要做任何额外的工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接