Calling Python functions from C++

后端 未结 4 1203
伪装坚强ぢ
伪装坚强ぢ 2020-12-09 16:53

I am trying to achieve call Python functions from C++. I thought it could be achieved through function pointers, but it does not seem to be possible. I have been using

4条回答
  •  一个人的身影
    2020-12-09 17:34

    If it might have any name:

    Pass it to a function that takes a boost::python::object.

    bp::object pycb; //global variable. could also store it in a map, etc
    void register_callback(bp::object cb)
    {
          pycb = cb;
    }
    

    If it is in a single known namespace with a consistent name:

    bp::object pycb = bp::scope("namespace").attr("callback");
    

    bp::object has operator() defined, so you call it just like any function

    ret = pycb()
    

提交回复
热议问题