我有一个C ++项目,它在每个python脚本中调用相同的函数。但是每个脚本都需要访问C ++项目的内部类才能完成不同的操作。
所以我需要一个python包装器,所以我将一个C ++对象传递给python脚本,我需要一种方法来运行C ++项目中的python脚本函数。
根据我对Cython和Shed Skin的理解,它们是将C ++类变成python类的实用程序,但不一定在语言之间来回共享运行时对象。
我该怎么办?
答案 0 :(得分:-2)
感谢Maverick提出的问题。 Cython不是一种将C ++类用于python的方法.Cython只是带有c数据类型的python。你可以在python程序中使用c数据类型,这反过来又会使你的python代码更快地执行。你也可以构建扩展使用cython的python。 现在回答问题中的问题,你可以使用boost库来完成你的任务。在boost中你只需要编写一个包装器来在python中使用你的c ++对象,反之亦然。你只需要将它编译成一个共享库即可可以通过像jam,cython等工具来完成。我不会详细介绍你将如何去做,因为你可以找到相同的教程。