在扩展Python时可以使用C++特性吗?
Python手册上说,你可以用C和C++来创建Python模块。那么在用C++的时候,可以利用像类和模板这样的特性吗?这样做不会和其他库以及解释器产生不兼容的问题吗?
4 个回答
2
你可能会对一个叫做SWIG的程序感兴趣。这个程序可以为C++代码生成Python的包装和接口。我用它来处理模板、继承、命名空间等等,效果很好。
3
Boost团队提供了一种很棒的自动化方法,可以把C++代码包装起来,让Python使用。
这个方法叫做:Boost.Python
它在处理一些C++的结构方面,比SWIG做得更好,特别是在模板元编程方面。
9
你用C语言还是C++语言来实现这些钩子函数其实没关系。实际上,我见过一些Python的扩展,它们积极使用了C++的模板,甚至还用了Boost库。这都没问题。 :-)