Мне любопытно, какой самый гибкий, самый эффективный и самый простой способ заставить C++ и Python общаться друг с другом. Похоже, что претендентами являются Pybind11, Boost.Python и ни то, ни другое (просто написание функций и оболочек, как показано ниже).
using namespace boost::algorithm;
static PyObject* strtest(PyObject* self, PyObject* args)
{
std::string s = "Boost C++ Libraries";
to_upper(s);
PyObject * python_val = Py_BuildValue("s", s.c_str());
return python_val;
}
PyMODINIT_FUNC initmath_demo(void)
{
static PyMethodDef methods[] = {
"Test boost libraries" },
{ NULL, NULL, 0, NULL }
};
PyObject *m = Py_InitModule("math_demo", methods);
}