3

我想为我的 提供python接口C++ shared library,我打算使用Boost::python相同的接口,我的基于代码的代码非常庞大,并且C++分布在多个文件中。但是所有示例都讨论了在文件中添加结构以及如何处理头文件。并且我可以基于相同的代码,以便我可以构建共享库和headersimplementationpython::boostpython::boostcppC++python modules

4

1 回答 1

8

以下是有关如何使用 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; }
于 2012-08-21T09:56:13.407 回答