Boost.Python

環境

インストール

$ brew install boost

サンプル

/* bpy.cc */
#include <boost/python.hpp>

int add(int lhs, int rhs) {
    return lhs + rhs;
}

BOOST_PYTHON_MODULE(bpy) {
    boost::python::def("add", add);
}

BOOST_PYTHON_MODULE()の引数がモジュール名になる. コンパイルと実行は以下の通り.

$ clang++ -bundle -lboost_python-mt -lpython2.7 -fPIC -o bpy.so bpy.cc
$ python
>>> import bpy
>>> bpy.add(2, 3)
5

コンパイルオプションが少しあやしい.