3

python私は自分のインターフェースを提供したいのですが、同じC++ shared libraryように使用することを計画しています。私のコードベースは巨大で、ファイルに分割されています。ただし、すべての例では、ファイルに構成を追加する方法と、ヘッダーファイルに対してこれを処理する方法について説明しています。共有ライブラリと共有ライブラリの両方を構築できるように、同じコードベースを使用できますかBoost::pythonC++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/exposed.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 に答える