我希望创建一个Python模块,可以从C++类中调用其函数,并从该类调用C++函数。
我已经查看了Boost,但似乎没有什么意义。它引用了一个共享库(我不知道如何创建),我无法跟随他们在示例中使用的代码(它看起来非常混乱)。
这里是他们的“Hello World”教程(http://www.boost.org/doc/libs/1_55_0b1/libs/python/doc/tutorial/doc/html/index.html#python.quickstart)。
按照C/C++传统,让我们从“Hello, World”开始。一个C++函数:
可以通过编写Boost.Python包装器来将其暴露给Python:
下一步...从头开始构建你的Hello World模块,可以有人帮忙解释正在做什么,最重要的是Python如何知道C++文件。
我已经查看了Boost,但似乎没有什么意义。它引用了一个共享库(我不知道如何创建),我无法跟随他们在示例中使用的代码(它看起来非常混乱)。
这里是他们的“Hello World”教程(http://www.boost.org/doc/libs/1_55_0b1/libs/python/doc/tutorial/doc/html/index.html#python.quickstart)。
按照C/C++传统,让我们从“Hello, World”开始。一个C++函数:
char const* greet()
{
return "hello, world";
}
可以通过编写Boost.Python包装器来将其暴露给Python:
include <boost/python.hpp>
BOOST_PYTHON_MODULE(hello_ext)
{
using namespace boost::python;
def("greet", greet);
}
好的,我们完成了。现在我们可以将其构建为共享库。生成的DLL现在对Python可见。以下是一个示例Python会话:
>>> import hello_ext
>>> print hello_ext.greet()
hello, world
下一步...从头开始构建你的Hello World模块,可以有人帮忙解释正在做什么,最重要的是Python如何知道C++文件。