Avi*_*ash 2 c++ python boost boost-python
我想提供python的接口到我的C++ shared library,我计划使用Boost::python的是相同的,我C++基于代码是巨大的,整个分headers和implementation文件.但是所有的python::boost例子都讨论了python::boost在cpp文件中添加构造以及如何处理头文件.我可以使用相同的代码,以便我可以构建C++共享库和python modules
以下是有关如何使用Boost.Python的指南的链接:http://www.boost.org/doc/libs/1_51_0/libs/python/doc/tutorial/doc/html/python/exposing.html
使用标头/实现结构的示例:
//hpp
#include <boost/python.hpp>
using namespace boost::python;
struct World
{
void set(std::string msg);
std::string greet();
std::string msg;
};
BOOST_PYTHON_MODULE(hello)
{
class_<World>("World")
.def("greet", &World::greet)
.def("set", &World::set)
;
}
//cpp
void World::set(std::string msg) { this->msg = msg; }
std::string greet() { return this->msg; }
Run Code Online (Sandbox Code Playgroud)